换一种说法:
我需要知道在调用System.gc()
对象实例之后(未收集)是否以与调用System.gc()
之前相同的方式分布在各代之间。
谢谢,
最佳答案
在完成GC之后,System.gc()可能会触发也可能不会触发,
伊甸园空间将是空的,因此其中的任何东西都将被移走或清理。
幸存者空间会将对象从具有对象的对象交换为空的对象,然后
保有权空间将具有与以前相同的保留对象,但其中一些可能已被清理,而某些可能是这一代的新对象。
简而言之,System.gc()不会在各代之间更改对象的唯一时间是何时
它什么也不做,因为它被忽略了
自上次Full GC以来,没有创建或丢弃任何对象。
如果这可能是调用System.gc()是邪恶的另一个原因
主要是因为它损害了性能,您获得的回报却很少。注意:RMI可以定期触发完整的收集,以确保清除分布式对象,但是它试图将其降至最低。
关于java - 调用System.gc()是否会重置统计数据以进行世代收集?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12909745/