当前位置:首页 > JAVA > 正文内容

java学习引用类型之强引用

高老师2年前 (2023-07-14)JAVA510

在Java中,强引用(Strong Reference)是最常见、默认的引用类型。它是一种正常的对象引用,如果一个对象具有强引用与之关联,那么即使内存紧张,垃圾回收器也不会回收该对象。

下面是使用强引用的示例:

public class StrongReferenceExample {
    public static void main(String[] args) {
        // 创建一个字符串对象,并用强引用进行关联
        String str = new String("Hello World");

        // 显示强引用的值
        System.out.println("Strong Reference: " + str);
    }
}

在这个示例中,我们创建了一个字符串对象,并使用强引用 str 与之关联。强引用可以通过变量 str 直接访问对象,而且只要 str 存在,垃圾回收器就不会回收被引用的字符串对象。

强引用的特点包括:

  • 强引用可以直接访问对象。
  • 强引用不会在内存充足的情况下被垃圾回收器回收。
  • 强引用可以避免对象被提前回收,但也可能导致内存泄漏问题。

需要注意的是,当一个对象不再被引用时,即没有任何强引用指向它时,它将成为垃圾回收的候选对象。然后,垃圾回收器将根据需要来确定何时回收这些对象以释放内存。

强引用是Java中最常用的引用类型,大多数情况下,我们使用的都是强引用。

强引用类型只有显式地设置o为null,或超出对象的生命周期范围(如非全局变量),则gc认为该对象不存在引用,这时就可以回收这个对象。

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/457.html

分享给朋友:

“java学习引用类型之强引用” 的相关文章

java编译编码问题,java编译执行时编码问题

java编译编码问题,java编译执行时编码问题

public class test {     public static void main(String[] args) {     &...

java限制1个方法同一时间只能被一个线程访问

java限制1个方法同一时间只能被一个线程访问

java限制1个方法同一时间只能被一个线程访问public synchronized void setOrderPay(){ }加上synchronized 修饰符即可...

java增强型for循环

java增强型for循环

Java5 引入了一种主要用于数组的增强型 for 循环,类似js中的for inpublic class Member {     public static void main(String[]&...

java数组,java创建数组,java创建数组并赋值,java数组元素个数,java foreach 循环数组,java数组排序

java数组,java创建数组,java创建数组并赋值,java数组元素个数,java foreach 循环数组,java数组排序

(1).创建数组double[] myList = new double[size];  //推荐创建方式 double myList[] = new double[size];  ...

java日期和时间

java日期和时间

(1).java获取当前日期时间Date date = new Date();  System.out.println(date.toString());输出Fri Jul 02 10:29:55 CST 2021(2).java获取时间戳秒/毫秒D...

java睡眠方法,java睡眠函数,java睡眠时间,java睡眠一分钟,java睡眠五秒钟

java睡眠方法,java睡眠函数,java睡眠时间,java睡眠一分钟,java睡眠五秒钟

(1).java睡眠函数Thread.sleep(时间);  //单位为毫秒(2).java睡眠函数例子Date dNow = new Date(); SimpleDateFormat ft = new&nbs...