在java(1.6或更早版本)中,是否有任何类型的对象不受垃圾回收处理?是否有任何不受垃圾回收处理的对象?
0
A
回答
1
所有的java对象都会被垃圾收集。然而,本地资源不是由垃圾收集器直接管理的,有些像窗口句柄(JFrame)在实现finalize()方法时被垃圾收集器释放,其他需要手动资源管理。
此外,jvm在关闭之前不必收集现有对象,这可能会导致微妙的错误,如数据不会刷新到磁盘。
最后还有针对实时系统或智能卡的Java规范扩展,其中包含非托管内存,以实现性能和资源原因。但是这不适用于标准的jvm。
1
也许你已经听说过弱,软和幻影参考。检查这 http://weblogs.java.net/blog/2006/05/04/understanding-weak-references
1
这取决于你说什么'对象'的意思。除字符串外的所有基本类型以及未在JVM堆上分配的所有数据(使用新操作符)不受GC影响。其他一切都以GC为准。
1
根据实现情况,即使静态字段保存在“对象”(您可以在堆转储中看到)中,这些对象在抛弃Class时会被清除。
你可能指的是代理数据结构。这些包括GUI组件,线程和直接/内存映射的ByteBuffers。在任何情况下,对象都在堆上,但是数据结构不在堆上。
相关问题
- 1. 垃圾收集器如何确定对象是否是垃圾?
- 2. 有资格垃圾回收的对象
- 3. 是否有任何功能语言没有垃圾回收
- 4. PHP中是否有垃圾回收?
- 5. 内部对象的垃圾回收
- 6. Ruby:标记垃圾回收的对象
- 7. 因垃圾对象引用而导致的java垃圾回收
- 8. dot net内存处理,CLR垃圾回收器是否处理其他资源?
- 9. 垃圾收集如何处理对象引用?
- 10. 垃圾收集对象
- 11. 是否有可能为垃圾收集“查看”对象图?
- 12. ParameterizedThreadStart是否保证对象实例不会被垃圾收集?
- 13. 程序退出后,C/C++中的对象是否会收集垃圾回收?
- 14. 对象没有垃圾收集
- 15. 如何判断一个对象是否被垃圾收集
- 16. 垃圾收集器是否有配置?
- 17. Javascript对象可以有一个“垃圾回收”回调吗?
- 18. JDBC垃圾回收
- 19. Java:垃圾回收
- 20. C#垃圾回收
- 21. Java:垃圾回收
- 22. Erlang垃圾回收
- 23. java垃圾回收
- 24. Python垃圾回收
- 25. JS垃圾回收
- 26. Javascript垃圾回收
- 27. PhoneGap垃圾回收
- 28. java - 垃圾回收
- 29. 查找C#垃圾回收器回收了多少个对象
- 30. Android垃圾回收器,释放对象内的对象
你的意思是说你听说过一些对象没有被垃圾收集? – jkschneider
@jskchneider:根据我读过的文章,它指定“程序也可以创建不受垃圾收集影响的对象”,但他们没有特别指定对象。 – Saravanan
没有这样的对象类型。有些对象可以被本机代码(JNI引用)固定,但是它们再次被垃圾收集器检查,只是被认为是根。 – bestsss