Ash*_*ish 3 java heap garbage-collection memory-management
是一个"静态决赛"直接分配到年轻一代或老一代或perm gen?(我想它很可能会在我想的时候进入老一代.)如果它是在perm gen中分配的那么,当它在Perm Gen中进行类卸载时会被垃圾收集吗?
是一个"静态决赛"直接分配到年轻一代或老一代或perm gen?
static final变量引用的对象将根据与任何其他对象相同的规则进行分配.它最有可能分配给年轻一代或老一代(如果它很大且某些其他条件适用).
将通过new执行某些任意代码来分配对象.JVM无法知道该对象(最终)将被分配给static final变量.
包含静态变量的帧的空间可能在permGen中分配.当然,这不是常规的Java对象.
如果它是在perm gen中分配的那么,当在Perm Gen中进行类卸载时,它会被垃圾收集吗?
这取决于permGen是否被垃圾收集.在现代JVM中,它是,并且我希望卸载类静态引用的对象将在同一GC循环中被垃圾收集,或者下一个...假设它们无法访问.
无论哪种方式,您都不应该编写应用程序以依赖于任何这些细节.它们是特定于JVM的.
| 归档时间: |
|
| 查看次数: |
2226 次 |
| 最近记录: |