java学习个人笔记---java内存管理之Java对象的引用方式
2015-08-31 19:55
567 查看
Java对象的引用的方式:
1)强引用(StrongReference):一般的引用,内存不足,GC不会回收强引用对象,直接终止,是造成内存泄漏的主要原因之一;
2)软引用(SoftReference):内存充足时与强引用没有区别,当内存不足时,GC会回收软引用对象,避免内存不足;
3)弱引用(WeakReference):与软引用很相似(区别可看下面程序例子),区别是弱引用的对象生存期更短,GC回收弱引用对象时,不管系统内存充足与否,都会回收弱引用对象,因此使用弱引用对象时必须先判断它是否为null;
4)虚引用(PhantomReference):虚引用主要用于跟踪对象被垃圾回收的状态,虚引用不能单独使用,必须与引用队列(ReferenceQueue)联合使用,程序并不能通过虚引用访问被引用的对象,当被引用的对象被回收后,对应的引用将被添加到关联引用的队列中;
1)强引用(StrongReference):一般的引用,内存不足,GC不会回收强引用对象,直接终止,是造成内存泄漏的主要原因之一;
2)软引用(SoftReference):内存充足时与强引用没有区别,当内存不足时,GC会回收软引用对象,避免内存不足;
3)弱引用(WeakReference):与软引用很相似(区别可看下面程序例子),区别是弱引用的对象生存期更短,GC回收弱引用对象时,不管系统内存充足与否,都会回收弱引用对象,因此使用弱引用对象时必须先判断它是否为null;
4)虚引用(PhantomReference):虚引用主要用于跟踪对象被垃圾回收的状态,虚引用不能单独使用,必须与引用队列(ReferenceQueue)联合使用,程序并不能通过虚引用访问被引用的对象,当被引用的对象被回收后,对应的引用将被添加到关联引用的队列中;
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统