文章汇总:关于java的finalize,引用和引用队列,自动释放系统外部资源的一些文章

之前写过一篇博客,关于非堆内存如何自动释放的,由此慢慢延伸写了几篇关于垃圾回收、finalize机制、引用和引用队列、sun.misc.Cleaner相关的文章,通过这几篇文章感觉自己收获很大了,对java垃圾回收相关的知识了解更深刻了。这篇博客主要做个汇总和简介,按照自己思路的延伸,把博客汇总下,方便大家阅读和查看。

1、学习NIO时候,对于DirectByteBuffer堆外内存的自动释放,因此了第一篇博客

java中使用堆外内存,关于内存回收需要注意的事和没有解决的遗留问题(等大神解答)

http://blog.csdn.net/aitangyong/article/details/39323125

2、为了研究NIO是如何实现堆外内存自动释放的,产生了第二篇博客

System.gc()和-XX:+DisableExplicitGC启动参数,以及DirectByteBuffer的内存释放

http://blog.csdn.net/aitangyong/article/details/39403031

3、研究了NIO的自动释放机制之后,引出了finalize和sun.misc.Cleaner,有了第三篇文章

Effective Java Item7:Avoid Finalizers,解释为什么finalize是不安全的,不建议使用

http://blog.csdn.net/aitangyong/article/details/39450341

4、为了解决finalize的不足,学习了下java引用和引用队列的机制,有了第四篇文章

java中的4种reference的差别和使用场景(含理论、代码和执行结果)

http://blog.csdn.net/aitangyong/article/details/39453365

5、最后利用前面学习到的理论,自己写了个自动释放堆外内存的代码,有了第五篇文章

使用sun.misc.Cleaner或者PhantomReference实现堆外内存的自动释放

http://blog.csdn.net/aitangyong/article/details/39455229

6、最近简单的做了个总结

关于finalize机制和引用、引用队列的一些结论

http://blog.csdn.net/aitangyong/article/details/39478261

时间: 2024-10-10 02:16:35

文章汇总:关于java的finalize,引用和引用队列,自动释放系统外部资源的一些文章的相关文章

Java 学习文章汇总

目前JAVA可以说是产业界和学术界最热门的语言,许多人都很急切想把JAVA学好. 但学习是需要步骤的,除非像电影中演的那样,能够把需要的专业技巧下载到脑海:主角只花了几秒下载资料,就马上具备飞行员的技巧,或是武侠小说中的运功传送内力的方式,否则花上一段时间苦学是少不了的.花时间,不打紧,就怕方法错误,事倍功半. java 学习文章推荐.java学习线路.java 知识图谱. HTML5 微数据 RDFa/微格式 使用 jQuery 的 Autocomplete 插件实现input输入提示功能 创

【转载】Java 7之基础 - 强引用、弱引用、软引用、虚引用

所谓内存泄露,其实就是对象在该被回收的时候并没有被正确回收,内存里游走着这些野指针.所以理解这几种引用方式很重要,借大神的博客一用. 转载:http://blog.csdn.net/mazhimazh/article/details/19752475 引用类型 被垃圾回收时间    用途    生存时间 强引用 从来不会 对象的一般状态 JVM停止运行时终止 软引用 在内存不足时 对象缓存 内存不足时终止 弱引用 在垃圾回收时 对象缓存 gc运行后终止 虚引用 Unknown Unknown U

Java 7之基础 - 强引用、弱引用、软引用、虚引用

1.强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回收它.如下: Object o=new Object();   //  强引用 当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题.如果不使用时,要通过如下方式来弱化引用,如下: o=null;     // 帮助垃圾收集器回收此对象 显式地设置o为null,或超出对象的生命周期范围,则g

技术文章汇总

点击以下链接,可以查看相关技术文章: 包括APP软件开发.手机软件开发.嵌入式开发.Java和C/C++编程,同时涉及原型设计.效果图设计.切图.网络.多媒体.加密.字符编码.通信原理.测试和项目管理等各方面的知识. APP开发实战 手机开发实战技术文章汇总

Java -强引用&弱引用

⑴强引用(StrongReference) 就是通过new得的对象引用 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回收它.当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题. 使用强引用的一个例子. 图像缓存问题,图像缓存应该阻止我们重新载入图像,所以图像缓存保存有内存中已有的所有图像的引用,如果使用通常的强引用,强引用本身会使得图像一直存留在内存中,这样就使得程序员像上面一样

5.1-5.31推荐文章汇总

5.1-5.31推荐文章汇总 [移动开发] Android Volley完全解析(三),定制自己的Request guolin 雄踞AppStore榜首的游戏<别踩到白块儿>源代码分析和下载(一)touchsnow Cocos2d-x3.0游戏实例之<别救我>第四篇--乱入的主角笨木头 Android-自定义图像资源的使用(2)wwj_748 Android SQLite性能分析Horky <游戏脚本的设计与开发>-(RPG部分)3.6 队员列表和人物属性vipra C

7.1-7.31推荐文章汇总

7.1-7.31推荐文章汇总 [移动开发] Android ActionBar应用实战.高仿微信主界面的设计        guolin Cocos2d-x-Lua 开发简单的小游戏(记数字踩白块)        IT_xiao小巫 是男人就下100层[第四层]--Crazy贪吃蛇(1)        阳光小强 SEAndroid安全机制框架分析        罗升阳 Android多线程分析之四:MessageQueue的实现        飘飘白云 美女图片採集器 (源代码+解析)     

8.1-8.31推荐文章汇总

8.1-8.31推荐文章汇总 [移动开发] Cocos2d-x Lua 读取Csv文件.更方便的使用数据        笨木头 Android应用怎样支持屏幕多尺寸多分辨率问题        xyz_lmn CSDN Androidclient开发(二):具体解释怎样基于Java用Jsoup爬虫HTML数据        yanzi1225627 Android开发之WebView具体解释        CrazyCodeBoy ANDROID自己定义视图--onLayout源代码 流程 思路具

6.1-6.30推荐文章汇总

6.1-6.30推荐文章汇总 [移动开发] Cocos2d-x Auto-batching 浅浅的"深入分析" 笨木头 OpenCV4Android释疑: 透析Android以JNI调OpenCV的三种方式(让OpenCVManager永不困扰)yanzi1225627 Unity3D游戏开发之回合制游戏原型的实现qinyuanpei iOS安全攻防(二十三):Objective-C代码混淆念茜 Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)guolin i