美文网首页
JAVA——用引用操纵对象2

JAVA——用引用操纵对象2

作者: CodeForCoffee | 来源:发表于2018-01-23 15:38 被阅读0次

JAVA中的数据存储


1、寄存器

这是最快的存储区域,因为它位于处理器内部。但是寄存器的数目很有限,会根据需求分配。你不能在程序里直接控制,也不能感受到寄存器的存在。

2、堆栈

位于通用RAM(随机访问存储器),通过堆栈指针可以直接操作堆栈。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。某些JAVA数据存储在堆栈中—特别是对象引用,但JAVA对象并不存储在其中。

3、堆

一种通用的内存池(也位于RAM),堆不同于堆栈的好处是,编译器不需要知道存储的数据在堆里存活了多长时间。因此,在堆里分配内存有很大的灵活性。当需要一个对象时,只需用new写一行简单的代码,当执行这段代码时,会自动在堆里进行内存分配。

4、常量存储

常量值直接放在程序代码内部

5、非RAM存储

如流对象和持久化对象

在JAVA程序设计中,对于经常遇到的一系列类型,如int等,它们需要被特殊对待,可以把它们想象成 “基本类型”。之所以要特殊对待,是因为,new将对象存储在堆里,故而用new创建一个对象,其实开销挺大的。因此,对于这种类型的变量,JAVA采用了与C和C++相同的方法,也就是说,不用new来创建对象,而是创建一个并非是引用的“自动”变量,这个变量直接存储“值”,并置于堆栈中,因此更加高效。

相关文章

网友评论

      本文标题:JAVA——用引用操纵对象2

      本文链接:https://www.haomeiwen.com/subject/qmvsaxtx.html