java中引用
2024-09-27 16:57:18
java中引用分为,强,弱,虚,软
(1)强引用
使用最普遍的引用。如果一个对象具有强引用,它绝对不会被gc回收。如果内存空间不足了,gc宁愿抛出OutOfMemoryError,也不是会回收具有强引用的对象。
(2)软引用
如果一个对象只具有软引用,则内存空间足够时不会回收它,但内存空间不够时就会回收这部分对象。只要这个具有软引用对象没有被回收,程序就可以正常使用。
(3)弱引用
如果一个对象只具有弱引用,则不管内存空间够不够,当gc扫描到它时就会回收它。
(4)虚引用
如果一个对象只具有虚引用,那么它就和没有任何引用一样,任何时候都可能被gc回收。
软(弱、虚)引用必须和一个引用队列(ReferenceQueue)一起使用,当gc回收这个软(弱、虚)引用引用的对象时,会把这个软(弱、虚)引用放到这个引用队列中。
比如,上述的Entry是一个弱引用,它引用的对象是key,当key被回收时,Entry会被放到queue中。
最新文章
- 运行DbVisualizer报the java_home environment viariable does not point to a working 32-bit JDK OR JRE错误
- Get item by sharepoint web service jquery
- 关于EXCEL学习的那些事
- dump_stack调用过程【原创】
- IDE启动报错
- delphi数组作为参数传值
- c语言中argc和argv是什么意思?
- Linux 下memcache安装及使用
- android账号与同步之同步实现
- sql like '%x%'优化
- 颜色渐变的RGB计算
- [Search Engine] Compression in Inverted Index
- OWIN轻量型框架介绍
- 快速进入pycharm图形界面
- Windows系统MySQL安装配置
- nginx之安装、多虚拟主机、反向代理和负载均衡
- 使用CSS样式的三种方式
- 003_python学习之 字符串前'r'的用法
- 步步为营-23-通过GridView实现增删改
- Unity3D Shader 高斯模糊
热门文章
- SpringBoot 集成Mybatis时 使用通用插件Mapper 注意事项
- C#跨线程操作控件的最简单实现探究
- 10个最新手机美食APP界面设计欣赏
- 如何注册facebook应用
- beecloud resrful api test(nodejs)
- C# 释放资源的规范写法
- SOAP协议初级指南 (三)
- select, iocp, epoll,kqueue及各种I/O复用机制
- 设计模式7---Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
- duilib入门简明教程 -- XML基础类(7)