java小白训练营2109-day03-知识回顾
Posted 长安紫薯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java小白训练营2109-day03-知识回顾相关的知识,希望对你有一定的参考价值。
基本类型和引用类型
基本类型和引用类型到底有什么不同呢?
它们在内存中表达的方式不同。
基本类型存储的是值,它放在栈内存中;
引用类型存储的是地址(c语言的指针),它分2个部分,它new部分放在堆中,然后把栈中的内容就执行堆中的地址
基本类型当方法结束后,它就直接被释放资源,空间腾出来了,下个程序就有更多空间可以使用(栈程序执行完内存就释放)
引用类型在堆中申请的内存存储区域,不会随着变量方法的结束而立即结束。不行!(堆的内存管理有专门人员GC,不是自己管理)
值和引用
内存图
基本类型本质是字面量,保存的是值;
引用类型本质是指针,保存的是对象的地址;
包装类型属于引用类型,但是实际它内部经过特殊处理,把对象内容转成值处理,打印是不是地址,而是具体值。
Integer、String 打印时都是具体的值
数组、对象它们打印时就是具体的地址了
java为何这样设计呢?
- 基本类型使用完就释放资源,从而节约内存,内存是稀缺资源,越用越少;
- 引用类型方便对象的复用,无需再次创建对象,使用是更加快捷;
八种基本类型
计算机最小单位 bit 比特,0和1
程序的最小单位 byte 字节,8bit
b bit,B byte,KB/MB/GB/TB/PB/EB
每向上一个单位,是前面1000倍,1024=2^10
以上是关于java小白训练营2109-day03-知识回顾的主要内容,如果未能解决你的问题,请参考以下文章