java中引⽤类型有哪些_java中什么是引⽤类型
java中的引⽤类型是指除了基本数据类型之外的所有类型。java中有四种引⽤类型,分别是强引⽤、软引⽤、弱引⽤和虚引⽤。引⽤类型和原始类型具有不同的特征和⽤法。
Java 提供两种不同的类型:引⽤类型和原始类型(或内置类型)
引⽤类型和原始类型的⾏为完全不同,并且它们具有不同的语义。
引⽤类型和原始类型具有不同的特征和⽤法,它们包括:⼤⼩和速度问题,这种类型以哪种类型的数据结构存储,当引⽤类型和原始类型
⽤作某个类的实例数据时所指定的缺省值。
对象引⽤实例变量的缺省值为 null,⽽原始类型实例变量的缺省值与它们的类型有关。同时为了⾯向对象操作的⼀致性。
这些基本类型都有相应的封装类型:Integer、Short、Long、Byte、Float、Double、Character等。
Java的4种引⽤类型:
他们分别是强引⽤(StrongReference),软引⽤(SoftReference),弱引⽤(WeakReference)以及PhantomReference(虚引⽤),他们被
GC回收的可能性从⼤到⼩排列。
强引⽤(StrongReference)
只要强引⽤存在,垃圾回收器将永远不会回收被引⽤的对象,哪怕内存不⾜时,JVM也会直接抛出OutOfMemoryError,不会去回收。如
果想中断强引⽤与对象之间的联系,可以显⽰的将强引⽤赋值为null,这样⼀来,JVM就可以适时的回收对象了
软引⽤(SoftReference)
软引⽤是⽤来描述⼀些⾮必需但仍有⽤的对象。在内存⾜够的时候,软引⽤对象不会被回收,只有在内存不⾜时,系统则会回收软引⽤对
象,如果回收了软引⽤对象之后仍然没有⾜够的内存,才会抛出内存溢出异常。这种特性常常被⽤来实现缓存技术,⽐如⽹页缓存,图⽚
缓存等。
在 JDK1.2 之后,⽤f.SoftReference类来表⽰软引⽤。
弱引⽤(WeakReference)
弱引⽤的引⽤强度⽐软引⽤要更弱⼀些,⽆论内存是否⾜够,只要 JVM 开始进⾏垃圾回收,那些被弱引⽤关联的对象都会被回收。
java面向对象的特征有哪些方面在 JDK1.2 之后,⽤ f.WeakReference 来表⽰弱引⽤。
PhantomReference(虚引⽤)
虚引⽤是最弱的⼀种引⽤关系,如果⼀个对象仅持有虚引⽤,那么它就和没有任何引⽤⼀样,它随时可能会被回收,在 JDK1.2 之后,⽤PhantomReference 类来表⽰,通过查看这个类的源码,发现它只有⼀个构造函数和⼀个 get() ⽅法,⽽且它的 get() ⽅法仅仅是返回⼀个null,也就是说将永远⽆法通过虚引⽤来获取对象,虚引⽤必须要和 ReferenceQueue 引⽤队列⼀起使⽤。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。