迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

Java 中用于垃圾回收的 System.gc()

作者:迹忆客 最近更新:2023/09/17 浏览次数:

System.gc() 是 Java 中提供的用于垃圾收集的 API,它执行自动内存管理。

当我们运行 Java 程序时,可能会有一些不再需要的对象或数据,System.gc() 收集这些数据并删除它们以释放内存。

本文将介绍如何在 Java 中使用 System.gc()


在 Java 中演示使用 System.gc()

System.gc() 可以由系统、开发人员或用于应用程序的外部工具调用。

例子:

package delftstack;
public class System_Gc {

    public static void main(String... args) {
        for (int x = 1; x < 15; x++) {
            Demo_Class New_Demo_Class = new Demo_Class(x);
            System.out.printf("Demo Class Generated, Demo= %s%n", New_Demo_Class.get_Demo());
            System.gc();
        }
    }

    public static class Demo_Class {
        private final int Demo;

        public Demo_Class(int Demo) {
            this.Demo = Demo;
        }

        public int get_Demo() {
            return Demo;
        }

        //the garbage collector will call this method each time before removing the object from memory.
        @Override
        protected void finalize() throws Throwable {
            System.out.printf("-- %s is getting collected in the garbage --%n", Demo);
        }
    }
}

上面的代码给出了 System.gc() 的示例用法,其中一个方法被调用了 14 次,系统收集了 13 次垃圾。

输出:

Demo Class Generated, Demo= 1
Demo Class Generated, Demo= 2
Demo Class Generated, Demo= 3
-- 1 is getting collected in the garbage --
Demo Class Generated, Demo= 4
-- 2 is getting collected in the garbage --
Demo Class Generated, Demo= 5
-- 3 is getting collected in the garbage --
Demo Class Generated, Demo= 6
-- 4 is getting collected in the garbage --
Demo Class Generated, Demo= 7
-- 5 is getting collected in the garbage --
Demo Class Generated, Demo= 8
-- 6 is getting collected in the garbage --
Demo Class Generated, Demo= 9
-- 7 is getting collected in the garbage --
Demo Class Generated, Demo= 10
-- 8 is getting collected in the garbage --
-- 9 is getting collected in the garbage --
Demo Class Generated, Demo= 11
Demo Class Generated, Demo= 12
-- 10 is getting collected in the garbage --
-- 11 is getting collected in the garbage --
Demo Class Generated, Demo= 13
-- 12 is getting collected in the garbage --
Demo Class Generated, Demo= 14
-- 13 is getting collected in the garbage --

System.gc() 不是主要由开发人员使用,因为他们认为它没有用,但它是处理缓存的好工具。

上一篇:如何在 Java 中把一个数组转换为一个列表

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Java 中获取字符数组的长度

发布时间:2023/09/18 浏览次数:59 分类:Java

本文介绍了如何在 Java 中获取字符数组的长度,还列举了一些示例代码来理解这个话题。

在 Java 中复制数组

发布时间:2023/09/18 浏览次数:129 分类:Java

本文介绍了几种在 Java 中把一个数组复制到另一个数组的方法。我们可以使用手动的方法与循环来实现,但为了简单起见,我们不想重新发明轮子,还是不要使用这种方法。

在 Java 中返回数组

发布时间:2023/09/18 浏览次数:198 分类:Java

本文介绍了在 Java 中如何从一个函数或一个类对象中返回一个数组。在 Java 中从函数中返回一个不同数据类型的数组

在 Java 中返回空数组

发布时间:2023/09/18 浏览次数:56 分类:Java

在本文中,我们将讨论如何在 Java 中返回一个空数组。我们有时会因为一些原因而不得不返回一个空数组,比如当数组来自一个 API 时,它返回的是 null;

在 Java 中对 2D 数组进行排序

发布时间:2023/09/18 浏览次数:105 分类:Java

在本文中,我们将学习如何在 Java 中对一个二维数组进行排序。二维数组是一个数组,其元素是 1-D 数组。二维数组中的元素以矩阵的形式按行和列排列。

在 Java 中初始化 2D 数组

发布时间:2023/09/18 浏览次数:180 分类:Java

在本文中,我们将学习如何在 Java 中初始化一个二维数组。二维数组是一个一维数组。二维数组中的元素以矩阵的形式按行和列排列。

Java 中交换数组元素

发布时间:2023/09/18 浏览次数:199 分类:Java

在本文中,我们将探讨在 Java 中交换两个数组的不同方法。我们可以使用算术和位运算符来代替使用第三个变量来交换两个数组。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便