jvm初识(2)

类刚被初始化的时候,变量基本上都是被加载到了新生代,然后可能需要通过若干次GC,才会把变量移动至老年代,老年代是说,一般不会发生改变,这样方便GC进行清扫。

Java堆中一共可分为 新生代和老年代

新生代又可继续分为eden,from,to区,eden可翻译为伊甸园,取自《圣经》中,人类的始祖亚当与夏娃最初居住的地方,也就是说,所有的变量等,最开始都是先在eden中,然后等待GC进行清扫,如果GC经过了若干次清扫之后,变量依然存在,那么Jvm就会认为这个变量比较可靠,是一个需要长久的进行维护的,因此就需要放入老年区,老年区,就是jvm比较少干扰的一个区域,而且一般内存与区比新生代要大,可通过不同的参数进行配置,但是一般建议老年代:新生代=8:2,从而就可以看到老年代是很大的。

from和to区,是GC的一个复制算法需要的

猜你喜欢

转载自blog.csdn.net/qq_32409957/article/details/84726793