免费建网站流程,网页游戏传奇世界开服表,WordPress入门编辑器,网站建设市场定位在Java虚拟机#xff08;JVM#xff09;中#xff0c;内存被划分为多个不同的区域#xff0c;其中包括新生代#xff08;Young Generation#xff09;和老年代#xff08;Old Generation#xff09;。
新生代是用于存储新创建的对象的区域。大多数对象在创建后很快就变…在Java虚拟机JVM中内存被划分为多个不同的区域其中包括新生代Young Generation和老年代Old Generation。
新生代是用于存储新创建的对象的区域。大多数对象在创建后很快就变得不可达unreachable因此新生代被设计成较小且较短暂的区域。新生代又分为两个部分
Eden空间这是对象最初被创建的地方。大多数对象在Eden空间创建并且在进行垃圾回收时会被清理掉。
Survivor空间当进行垃圾回收时Eden空间中仍然存活的对象会被移动到Survivor空间。Survivor空间一般有两个分别称为From空间和To空间。在垃圾回收过程中存活的对象会从一个Survivor空间复制到另一个Survivor空间同时清理掉不再存活的对象。
垃圾回收器在新生代的垃圾回收过程称为Minor GC或Young GC。Minor GC发生频率较高一般会暂停应用程序的执行。
老年代是用于存储生命周期较长的对象的区域。当对象在新生代经历多次垃圾回收后仍然存活它们就会被移到老年代中。老年代相对于新生代来说更大可以存储更多的对象。
垃圾回收器在老年代的垃圾回收过程称为Major GC或Full GC。Major GC发生的频率较低一般会导致较长的停顿时间。
新生代和老年代的划分是为了优化垃圾回收的效率。由于大多数对象的生命周期较短所以新生代采用了一种基于复制的垃圾回收算法可以快速地回收不再存活的对象。而老年代则采用了其他更适合存储长生命周期对象的垃圾回收算法。