脚本宝典收集整理的这篇文章主要介绍了java 存储,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
1. 寄存器
这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。
2. 栈(stack)
位于通用Ram中, 存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中)
3. 堆(heap)
存放所有new出来的对象
4. 静态存储(static storage)
存放静态成员(static定义的)
5. 常数存储(constant storage)
存放字符串常量和基本类型常量(public static final)
6. 非 RAM 存储。
如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。
测试
public static void main(String[] args) { // 创建了1个string对象。"apple"存储在字符串常量池中 , str1 和str2存储于栈中 String str1 = "apple" ; String str2 = "apple" ; System.out.PRintln(str1==str2);//true // 创建了2个string对象,对象存储在堆内存中, 引用存于栈中 String str3 = new String("orange" ); String str4 = new String("orange" ); System.out.println(str3==str4);//false . //创建了2个对象。两个1对象存储在堆内存中 Integer l1 = new Integer(@H_304_85@1); Integer k1 = new Integer(1); System.out.println(l1==k1);//false . // 以下两条语句创建了2个对象。i1,i2变量存储在栈内存中,两个256对象存储在堆内存中 Integer i1 = 256; Integer i2 = 256; System.out.println(i1==i2);//false }
以上是脚本宝典为你收集整理的java 存储全部内容,希望文章能够帮你解决java 存储所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。