详解JVM内存布局及GC原理
发布时间:2021-03-23 15:02:54 所属栏目:动态 来源:互联网
导读:tack:也称为虚拟机栈,记录每个栈帧(Frame)中的局部变量、方法返回地址等。 Native Method Stack:本地(原生)方法栈,顾名思义就是调用操作系统原生本地方法时,所需要的内存区域。 上述3类区域,生命周期与Thread相同,即:线程创建时,相应的区域分配内存
上述3类区域,生命周期与Thread相同,即:线程创建时,相应的区域分配内存,线程销毁时,释放相应内存。 另一类是所有线程共享的:
Heap、Method Area 都是在虚拟机启动时创建,虚拟机退出时释放。 总之,程序运行时,内存中的信息大致分为两类,一是跟程序执行逻辑相关的指令数据,这类数据通常不大,而且生命周期短;一是跟对象实例相关的数据,这类数据可能会很大,而且可以被多个线程长时间内反复共用,比如字符串常量、缓存对象这类。 将这两类特点不同的数据分开管理,体现了软件设计上“模块隔离”的思想。好比我们通常会把后端service与前端website解耦类似,也更便于内存管理。 GC垃圾回收原理
1. 哪些内存区域需要GC ? (编辑:南昌站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读



