再记录学习java的垃圾回收gc时的想法
横看成岭侧成峰,不同角度的jvm 内存分区
先看一张图:
jvm中有很多部件,每种部件都会对jvm申请和管理的那大块内存即运行时数据区进行动作,
从执行classloader和执行引擎的角度观察,他们对这块的内存的分法是这样的:
对于垃圾收集器来说,他只关心存放对象实例的堆区和 对象结构的方法区,
(线程私有的内存区随着 线程的生灭会释放掉)
gc收集器眼中的所关心的内存分法是这样的:
新对象分到 新生代
经过几次gc 晋升 到 老生代
方法区的类结构、常量池等 几乎为 永生代
新生代又划分为 三块