计算机五大存储区,你都清楚吗?

742次阅读
没有评论

共计 646 个字符,预计需要花费 2 分钟才能阅读完成。

Java日常开发过程中,通过new关键字和构造函数创建对象,这些对象是怎么存放安排的呢?尤其是内存是怎么个分配法?
有5个不同的地方可以存储数据:

最快的存储区,位于处理器内部,不过存储空间有限,所以得根据需求进行分配,Java不允许直接控制寄存器,也不能在程序中感知到寄存器的存在。
tips:C和C++可以通过向编译器建议寄存器的分配方式;

存储分配速度仅次于寄存器,位于通用RAM(随机访问存储器)中,通过堆栈指针获得处理器的支持。
tips:堆栈指针向下移动,则分配新内存;向上移动,则释放旧内存 ———一种快速有效的分配存储方法。
存储内容:基本类型变量,对象引用,方法调用过程
tips:C++可在堆栈中直接创建对象;

存储分配速度次于堆栈,通用的内存池(也位于RAM区),存放所有的Java对象
tips:只需在程序中使用new写一行简单的代码,即可开辟一处新内存;

常量值通常直接存放在程序代码内部,因为他们永远不会被改变!有些时候,在一些嵌入式系统中,常量会和其他部分分隔开,这种情况下会选择将其存放在ROM(只读存储器)中;
tips:比如说字符串池,如字面常量字符串(”通话”,”重地”)、具有字符串值的常量表达式(String s = “Hello World!”);

如果数据完全存活于程序之外,不受任何程序的任何控制,程序没有运行也可以存在;

  1. 流对象——将对象转成字节流,在网络中传输,发给另一台机器;
  2. 持久化对象——该对象被存放于磁盘上。
正文完
 0
裴先生
版权声明:本站原创文章,由 裴先生 2021-02-28发表,共计646字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
本站勉强运行: