垃圾收集器的工作是发现应用程序不再需要的对象,并在这些对象不再被访问或引用时将它们删除 。垃圾收集器从根节点(在 Java 应用程序的整个生存周期内始终存在的那些类)开始,遍历所有仍被引用的节点,进行垃圾回收 。任何对象只要不再被引用,就符合垃圾回收的条件 。垃圾回收器回收这些对象后,它们所占用的内存资源也就被返回给了Java虚拟机 。
Java使用有向图的方式进行内存管理,可以消除循环引用的问题,例如有三个对象,相互引用,只要它们和根线程不可达,那么垃圾回收器也是可以回收它们的 。这种方式的优点是管理内存的精度很高,但是效率较低 。另外一种常用的内存管理技术是使用计数器,例如COM模型采用计数器方式管理构件,它与有向图相比,精度较低(很难处理循环引用的问题),但执行效率却很高 。
关于java申请内存泄漏代码和java 内存泄漏的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
- java查询数组中是否包含某一个值 javamongodb数组查询
- redis实战电子书 redisjava书籍
- javaredis集群 javaredis列队
- Redis队列排队 redis队列java
- java mongodb aggregate mongodb的教程java
- redis实现秒杀功能java redis和mq实现秒杀
- redis队列实现秒杀java redis推时队列
- redis一亿条数据占内存 1亿数据量redis
- 查看mysql占用内存 mysql查询占用线程
- java redis面试 javaredis试题
