虚拟内存总体分五大区域,栈区(堆栈),堆区(托管堆),常量,静态(静态未初始化区,和静态初始化区)其他区域
*
* 栈区:有计算机虚拟内存自动进行释放管理,战区的存储方式为先进后出,用于分配值类型,站由操作系统进行管理,不受GC(垃圾回收机制)管理,当值类型不在其作用域,其所占的内存自动释放,站的执行效率为最高
*
* 堆区;用于分配小对象实例(85000),所谓小对象就是小于85000字节的实例对象
* GC堆分三代垃圾管理进行管理,当GC操作时(垃圾回收的时候),垃圾收集器会对GC堆进行压缩回收
* 原理有点类似IOS中的autorelease(自动释放池)
*
* 大对象堆:(large object heap):大对象堆就是指大小超过85000字节的实例对象,大对象分配在LOH上
* 不受GC管理,不会被压缩,只有在完全Gc回收时才会回收
*
* Ps:
* 栈的分配是最高位--》低位进行扩展
* 堆的分陪是最低位-->高位进行管理
*
* 值类型参数与引用参数的本质,之参数是对栈中数值进行拷贝,拷贝出来的数值相当于之前数据的副本
* 引用类型是对栈中数据的引用,当之参数为莫对象的引用类型时,可以改变该对象的某些值
* 但是不能将值变成新的对象
内存介绍
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 在 Java 中,内存的分配是由程序完成的,而内存的释放则是由 Garbage Collecation(GC) 完...