既然有 GC 机制,为什么还会有内存泄露的情况
生活随笔
收集整理的這篇文章主要介紹了
既然有 GC 机制,为什么还会有内存泄露的情况
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
理論上 Java 因為有垃圾回收機制(GC)不會存在內存泄露問題(這也是 Java 被廣泛使用于服務器端編程的一個重要原因)。
然而在實際開發中,可能會存在無用但可達的對象,這些對象不能被 GC 回收,因此也會導致內存泄露的發生。
例如 hibernate 的 Session(一級緩存)中的對象屬于持久態,垃圾回收器是不會回收這些對象的,然而這些對象中可能存在無用的垃圾對象,如果不及時關閉(close)或清空(flush)一級緩存就可能導致內存泄露。
Java 中為什么會有 GC 機制呢?
? 安全性考慮;-- for security.
? 減少內存泄露;-- erase memory leak in some degree.
? 減少程序員工作量。-- Programmers don’t worry about memory releasing.
總結
以上是生活随笔為你收集整理的既然有 GC 机制,为什么还会有内存泄露的情况的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springmvc的原理架构,Strut
- 下一篇: 在开发中遇到过内存溢出么?原因有哪些?解