2024年5月14日发(作者:)
Java引用类型有哪四种-Java对象的引用是什
么
Java有四种引用类型,分别为强引用、软引用、弱引用、虚引用;
其中软引用用于描述非必要但仍然有用的对象。如果想具体了解
Java引用类型有哪四种,那无妨接着往下看吧!
1、强引用
只要存在强引用,垃圾收集器就不会重用引用对象。即使内存
不够,JVM也会直接引发OutOfMemoryError,不重用。想切断强
参照和对象间的链接时,通过将强参照代入null,JVM可以适时
回收对象。
2、软引用
软引用用于描述非必要但仍然有用的对象。当内存足够时,软
引用对象将不会被回收。只有当内存不够时,系统才会回收软引
用对象。如果恢复软引用对象后仍然没有足够的内存,将抛出内
存溢出异常。这个特性通常用于实现缓存技术。
3、弱引用
弱引用比软引用具有更弱的引用强度,每当JVM开始垃圾收集
时,与弱引用相关的对象都会被回收,而不管内存是否足够。
4、虚引用
第 1 页 共 3 页
虚拟引用是最弱的引用,如果一个对象只包涵虚引用,那么就
相当于没有任何引用,它可以随时回收,在JDK1.2之后,由
PhantomReference类表示,并且通过查看这个类的源代码,它只
有一个构造函数和一个get()方法,它的get()方法不能用一个引
用返回。
2Java对象的引用是什么
一、引用的概念
如果一个变量的类型是 类类型,而非基本类型,那么该变量又
叫做引用。其实GC时主要看这个对象是否有引用指向该对象。按
照这种引用的强弱的关系, 从JDK1.2版本开始,把对象的引用
分为四种级别,从而使程序能更加灵活的控制对象的生命周期。
这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。
二、对象的引用
引用和指向:
new Hero(); 代表创建了一个Hero对象,但是也仅仅是创建了
一个对象,没有办法访问它。为了访问这个对象,会使用引用来
代表这个对象 Hero h = new Hero();
h这个变量是Hero类型,又叫做引用,=的意思指的h这个引
用代表右侧创建的对象“代表〞 在面向对象里,又叫做“指向〞。
所以,〔java〕里对象的引用就是一个类类型的变量指向创建出
第 2 页 共 3 页
来的对象。
3Java中引用数据类型有哪些
引用数据类型分3种:类,接口,数组;
简单来说,只要不是基本数据类型.都是引用数据类型。 那他们
有什么不同呢?
一、从概念方面来说
1、基本数据类型:变量名指向具体的数值。
2、引用数据类型:变量名不是指向具体的数值,而是指向存数据
的内存地址,.也及时hash值。
二、从内存的构建方面来说(内存中,有堆内存和栈内存两者)
1、基本数据类型:被创建时,在栈内存中会被划分出一定的内存,
并将数值存储在该内存中。
2、引用数据类型:被创建时,首先会在栈内存中分配一块空间,
然后在堆内存中也会分配一块具体的空间用来存储数据的具体信
息,即hash值,然后由栈中引用指向堆中的对象地址。
第 3 页 共 3 页
发布者:admin,转转请注明出处:http://www.yc00.com/news/1715661887a2652440.html
评论列表(0条)