java之垃圾回收和引用类型
来源:互联网 发布:测试网络ping 编辑:程序博客网 时间:2024/05/22 04:49
仅站在应用开发角度简单阐述整体概念
java中谁来回收垃圾?
java虚拟机启动后会自动启动一个有垃圾回收作用的线程,根据需要不定期进行垃圾回收
如何判断一个实例应该被回收?
简单来说通过一个引用计数器
回想String和StringBuffer的区别,其中说过改变一个String对象的实际过程是另创建一个String对象,再将引用指向新创建的实例上。注意,这时原来的实例引用数为0成为垃圾回收的对象。
即当垃圾回收线程发现一个引用数为0的对象时就会回收它
而因为人类现有计算机体系的复杂,引用又分为很多类型
不同类型的引用有何区别?
强引用(StrongReference):显式的把一个引用指向一个对象
某个对象只有强引用时,它就永远不会被回收。
软引用(SoftReference):可看做一种JVM的加速机制,比如达到当加载一个图片后避免重复加载,将引用暂存在缓存中
某个对象只有软引用时,当内存不够时,会回收这个对象。
弱引用(WeakReference):指一些规范化映射,映射存在时当key和value实例不存在是引用自动被回收
某个对象只有弱引用时,当gc线程回收的时候,它一定会被回收。
虚引用(PlantomReference):提供更灵活的垃圾处理方式,和引用队列一起使用
0 0
- java之垃圾回收和引用类型
- JAVA中的引用类型和垃圾回收
- Java中的引用类型和垃圾回收
- Java中的引用类型和垃圾回收
- Java垃圾回收机制与引用类型
- Java垃圾回收机制与引用类型
- Java垃圾回收机制与引用类型
- Java垃圾回收机制与引用类型
- Java垃圾回收机制与引用类型
- Java垃圾回收机制与引用类型
- Java垃圾回收机制与引用类型
- Java垃圾回收机制与引用类型
- Java中的引用类型(强引用、弱引用)和垃圾回收
- java垃圾回收之循环引用
- Java虚拟机 垃圾回收 之 引用计数
- java垃圾回收算法之-引用计数器
- 关于JAVA的引用和垃圾回收
- Java的引用和垃圾回收机制
- (决策树)C4.5算法
- 第四周 项目一 三角形类的构造函数(2)
- 不知道送什么礼物的可以看看
- Javascript 时间计算函数
- 监控oracle系统的性能
- java之垃圾回收和引用类型
- MFC窗口重绘相关汇总
- Android 应用程序之间内容分享详解(二)
- PPU物理运算处理器
- jackson annotations注解详解
- 为什么我在scrapy shell中没有看到hxs和xxs
- 给定a和n,计算a+aa+aaa+aaaa+...+a...a(n个a) 的和
- 【算法学习笔记】23.动态规划 解题报告 SJTU_OJ 1280 整装待发
- 解决Ubuntu中使用windows文件名乱码问题