java常见引用类型
java的引用类型一般分为四种:强引用、软引用、弱引用、虚引用
强引用:普通的变量引用
public static User user = new User();
软引用:将对象用SoftReference软引用类型的对象包裹,正常情况不会被回收,但是GC做完后发现释放不出空间存放
新的对象,则会把这些软引用的对象回收掉。软引用可用来实现内存敏感的高速缓存。
public static SoftReference<User> user = new SoftReference<User>(new User());
软引用在实际中有重要的应用,例如浏览器的后退按钮。按后退时,这个后退时显示的网页内容是重新进行请求还是从缓存中取出呢?这就要看具体的实现策略了。
(1)如果一个网页在浏览结束时就进行内容的回收,则按后退查看前面浏览过的页面时,需要重新构建 。
(2)如果将浏览过的网页存储到内存中会造成内存的大量浪费,甚至会造成内存溢出 。
弱引用:将对象用WeakReference软引用类型的对象包裹,弱引用跟没引用差不多,GC会直接回收掉,很少用
public static WeakReference<User> user = new WeakReference<User>(new User());
虚引用:虚引用也称为幽灵引用或者幻影引用,它是最弱的一种引用关系,几乎不用。
java常见引用类型相关推荐
- java常见对象_Java/10_Java常见对象.md at master · DuHouAn/Java · GitHub
Java常见对象 Arrays Arrays:针对数组进行操作的工具类. Arrays的常用成员方法: public static String toString(int[] a) //把数组转成字符 ...
- Java 常见的 30 个误区与细节
转载自 Java 常见的 30 个误区与细节 1.在Java中,没有goto语句.因为大量使用goto语句会降低程序的可读性和可维护性,所以Java语言取消了goto的使用.同时,为了避免程序员自行使 ...
- JAVA常见面试问题以及答案
在网上看到的,前一段时间也是在忙面试的事情,感觉总结的挺好的,这两天有时间了花点时间把答案整理出来. 一.Java基础 1. String类为什么是final的. 2. HashMap的源码,实现原理 ...
- Java常见知识点汇总
Java常见知识点汇总 基础概念与常识 1.Java 语言有哪些特点? 2.JVM vs JDK vs JRE 3.什么是字节码?采用字节码的好处是什么? 4.为什么不全部使用 AOT 呢? 5.为什 ...
- Java常见数据结构以及特点、使用场景
Java常见数据结构以及特点 Java中常见的数据结构,主要分为Collection和Map两种主要接口,程序中的数据结构是继承这些接口的数据结构类. Collection接口: List 接口继承: ...
- Java常见的面试算法题:实现两个线程交替打印1到100的数
Java常见的面试算法题:实现两个线程交替打印1到100的数 思路: 这是涉及到多个线程打印的问题,一定会用到锁的(synchronized),故这就是一个多线程打印的典型案例. 代码实现: pack ...
- 【Java基础】Java常见的异常
Java常见的异常 1. java.lang.NullPointerException (空指针异常)调用了未经初始化的对象或者是不存在的对象 2. java.lang.ClassNotFoundEx ...
- java 常见几种发送http请求案例
java 常见几种发送http请求案例 直接换成CloseableHttpClient还不行,需要这样使用CloseableHttpClient httpClient = HttpClientBuil ...
- Java 常见异常种类
Java 常见异常种类 参考文章: (1)Java 常见异常种类 (2)https://www.cnblogs.com/cvst/p/5822373.html 备忘一下.
最新文章
- float、double(浮点数)区别还有和decimal(定点数)的比较
- [每天进步一点 -- 流水账]第1周
- 使用Lucid Virtu在有独立显卡的情况下使用Intel硬件加速H.264编码
- openssl rsa密钥
- 做游戏,学编程(C语言) 5 数组之生命游戏
- CO1 Introduction
- Jmeter与数据库的连接
- 使用递归函数求解字符串的逆置问题
- itunes安装后不能用,双击后等很长时间,提示:ITUNES 驱动程序缺少用于导入和刻录的CD与DVD注册的设置...
- java类图资料整理
- white-space 与换行和空格的控制?
- Mysql - 开发技巧(二)
- 21个小故事,21个启示
- hive URI ${systemjava.io.tmpdir%7D$%7Bsystemuser.name%7D
- java windows wifi密码_windows10 通过命令行来查看wifi密码
- DOS命令——calcs和icacls
- 判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 =AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.
- 欧姆龙CJ1W-SCU模块通过串口网关功能实现Modbus RTU通信
- 手机上哪款闹钟提醒APP好
- qiime微生物分析