我使用的是Java11和G1GC。我正在开发的应用程序是一个大数据应用程序,我注意到的奇怪之处是,我对应用程序进行了24小时的监视,而且没有主要的GC。但是,老世代的大小在周期性地下降,巧合的是,当小GC在同一分钟花费大量时间时,它就发生了。
我无法理解为什么小GC上的尖峰正在清除来自老一代的数据。
发布于 2021-04-05 09:22:45
G1 GC还具有混合GC的概念,它将G1 GC命名为“垃圾优先”。在这个GC中,年轻一代被清理,以及一些旧空间中包含垃圾最多的区域,也就是垃圾优先。这种机制允许G1 GC尽可能长时间地避免完整的GC。由于完整的GC主要负责与垃圾收集相关的长时间暂停时间,因此G1 GC能够最小化对这些昂贵操作的需求。
https://stackoverflow.com/questions/66949589
复制相似问题