Java中的引用类型

  • 强引用(Strong) 就是我们平时使用的方式 A a = new A();强引用的对象是不会被回收的
  • 软引用(Soft) 在jvm要内存溢出(OOM)时,会回收软引用的对象,释放更多内存
  • 弱引用(Weak) 在下次GC时,弱引用的对象是一定会被回收的
  • 虚引用(Phantom) 对对象的存在时间没有任何影响,也无法引用对象实力,唯一的作用就是在该对象被回收时收到一个系统通知

原文地址:https://www.cnblogs.com/jxxblogs/p/12208117.html

时间: 2024-08-03 05:35:07

Java中的引用类型的相关文章

java中的引用类型概念

转自:http://blog.sina.com.cn/s/[email protected]陌上蜗牛 1.什么是引用类型     引用类型(reference type)指向一个对象,不是原始值,指向对象的变量是引用变量. 在java里面除去基本数据类型的其它类型都是引用数据类型,自己定义的class类都是引用类型,可以像基本类型一样使用.     示例如下:     public class MyDate {         private int day = 8;         priva

Java 中的引用类型

Java 中的引用类型? 除了8大基本数据类型(不包括void),其他都是引用类型. 可能面试官就是问的上面这个,但是如果你能补充下去,这会是一个很好的展现机会! java中的引用类型分为4种:强,软,弱,虚!这中分类与GC有关,如果你对GC有一些了解的话,可以继续谈谈,如果不了解GC的话,建议适可而止.. 1.对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.

java中的引用类型和值类型

值类型和引用类型的不同 [定义] 引用类型 表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值,那么调用这个方法时,传入的变量的值也将改变. 值类型 表示复制一个当前变量传给方法,当你在这个方法中改变这个变量的值时,最初声明的变量的值不会变. [值类型] 值类型就是基本数据类型 基本数据类型常被称为四类 八种 整型:byte.short.int.long 浮点型:float.double 字符型:char 逻辑型:boolean [引用类型] 除了四

Java中的引用类型Scanner类和随机类型Random

Scanner类 我们要学的Scanner类是属于引用数据类型,我们先了解下引用数据类型.   引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 数据类型 变量名 = new 数据类型(); 每种引用数据类型都有其功能,我们可以调用该类型实例的功能. 变量名.方法名(); Scanner类 Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据. Scanner使用步骤: //导包: import jav

Java中Calender引用类型

某些时候需要使用深拷贝: Calendar startTime = (Calendar) this._paramModel.getStartTime().clone(); 这样对startTime.add(Calendar.MINUTE,30)操作时,this._paramModel.getStartTime()不会随之改变 如果使用Calendar startTime=this._paramModel.getStartTime(),这样在做操作startTime.add(Calendar.MI

Java 中的 ==, equals 与 hashCode 的区别与联系

一.概述 1.概念 == : 该操作符生成的是一个boolean结果,它计算的是操作数的值之间的关系 equals : Object 的 实例方法,比较两个对象的content是否相同 hashCode : Object 的 native方法 , 获取对象的哈希值,用于确定该对象在哈希表中的索引位置,它实际上是一个int型整数 二.关系操作符 == 1.操作数的值 基本数据类型变量 在Java中有八种基本数据类型: 浮点型:float(4 byte), double(8 byte) 整型:byt

Java中的数组和方法

3.1 数组的定义和使用 数组(Array)是用来存储一组相同数据类型数据的集合.数组中的每个数据称为一个元素(element),数组可以分为一维数组,二维数组和多维数组.我们 主要讲解一维数组和二维数组. 3.1.1一维数组的声明数组变量 Java中的数组必须先声明然后再使用,Java中声明数组的方式如下: datatype[] arrayRefVar; 或者 datatype arrayRefVar[]; 例如: double[] array; 或者 double array[]; 说明:我

java中引用的原理【转】

在Java中的引用类型,是指除了基本的变量类型之外的所有类型,所有的类型在内存中都会分配一定的存储空间(形参在使用的时候也会分配存储空间,方法调用完成之后,这块存储空间自动消失), 基本的变量类型只有一块存储空间(分配在stack中), 而引用类型有两块存储空间(一块在stack中,一块在heap中), 方法形参的值传递(引用)是指形参和传进来的参数指向同一个值的内存(heap)中; java是传值还是传引用,这个估计很多人至今都很糊涂,这里有篇文章写的还是可以的,大家可以看看.. 这个写的还是

java中引用的原理

转自:http://blog.163.com/[email protected]/blog/static/112987702200962211145825/ 在Java中的引用类型,是指除了基本的变量类型之外的所有类型,所有的类型在内存中都会分配一定的存储空间(形参在使用的时候也会分配存储空间,方法调用完成之后,这块存储空间自动消失), 基本的变量类型只有一块存储空间(分配在stack中), 而引用类型有两块存储空间(一块在stack中,一块在heap中), 方法形参的值传递(引用)是指形参和传