Java引用类型有哪四种-Java对象的引用是什么

Java引用类型有哪四种-Java对象的引用是什么


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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信