Java 与垃圾回收有关的方法

news/2024/10/18 18:14:13/
1. gc

调用垃圾回收器的方法是 gc,该方法在 System 类和 Runtime 类中都存在。

  • 在 Runtime 类中,方法 gc 是实例方法,方法 System.gc 是调用该方法的一种传统而便捷的方法。
  • 在 System 类中,方法 gc 是静态方法,该方法会调用 Runtime 类中的 gc 方法。

其实,java.lang.System.gc 等价于 java.lang.Runtime.getRuntime.gc 的简写,都是调用垃圾回收器。
方法 gc 的作用是提示 Java 虚拟机进行垃圾回收,该方法由系统自动调用,不需要人为调用。该方法被调用之后,由 Java 虚拟机决定是立即回收还是延迟回收。

jdk8 System 类的部分源码

java">public final class System {.../*** Runs the garbage collector.* <p>* Calling the <code>gc</code> method suggests that the Java Virtual* Machine expend effort toward recycling unused objects in order to* make the memory they currently occupy available for quick reuse.* When control returns from the method call, the Java Virtual* Machine has made a best effort to reclaim space from all discarded* objects.* <p>* The call <code>System.gc()</code> is effectively equivalent to the* call:* <blockquote><pre>* Runtime.getRuntime().gc()* </pre></blockquote>** @see     java.lang.Runtime#gc()*/public static void gc() {Runtime.getRuntime().gc();}
}
2. finalize

与垃圾回收有关的另一个方法是 finalize 方法。该方法在 Object 类中被定义,在释放对象占用的内存之前会调用该方法。该方法的默认实现不做任何事,如果必要,子类应该重写该方法,一般建议在该方法中释放对象持有的资源。


http://www.ppmy.cn/news/1428953.html

相关文章

npm的配置文件及其路径问题

如何快捷修改.npmrc配置文件&#xff1f; .npmrc文件&#xff0c;就是npm的配置文件所在位置。 当然&#xff0c;寻找这个文件的目的&#xff0c;多数是为了修改.npmrc文件内容。 但npm提供了方便快捷的修改方式&#xff0c;不知道这个文件的位置&#xff0c;其实也是可以修改…

网络原理-IP协议

一、IP协议报头 版本号:用来表示IP协议的版本,现在常用的IP协议有两个版本,IPv4和IPv6&#xff0c;其他版本可能只存在于实验室中&#xff0c;并没有被广泛的使用。 首部长度:用来表示IP报头的长度,因为存在"选项"字段&#xff0c;所以IP报头是可变长的,此处单位为4…

Day45|动态规划part07:70. 爬楼梯 (进阶)、322. 零钱兑换、279. 完全平方数

爬楼梯&#xff08;进阶&#xff09; 之前已经做过这题了&#xff0c;实际上这题可以抽象成一个完全背包问题&#xff08;只有两种物品&#xff0c;一个1一个2&#xff0c;但是可以无限取&#xff09;&#xff0c;接下来用动规五部曲重新分析一下。 确定dp数组及其含义 dp[…

广东省道路货物运输资格证照片回执可手机线上办理

广东省道路运输资格证是从事道路运输业务、危险品道路运输人员的必要证件&#xff0c;而在办理该证件的过程中&#xff0c;驾驶员照片回执是一项必不可少的材料。随着科技的发展和移动互联网的普及&#xff0c;现在办理驾驶员照片回执已经不再需要亲自前往照相馆&#xff0c;而…

Flutter第九弹 构建列表元素间距

目标&#xff1a; 1&#xff09;Flutter Widget组件之间间距怎么表示&#xff1f; 2&#xff09;列表怎么定义子项之间间距&#xff1f; 一、间距的表示组件 列表组件的间距一般采用固定间距&#xff0c;间距占据可见的空间。 已经使用的表示间距的组件 Spacer&#xff1a…

【QT+QGIS跨平台编译】177:【QGIS_App+Qt跨平台编译】之一(一套代码、一套框架,跨平台编译)

文章目录 一、QGIS_App介绍二、QGIS下载三、文件分析四、pro文件一、QGIS_App介绍 QGIS_App是一个基于QGIS的完整的GIS系统库,它不仅可以作为一个独立的GIS应用程序使用,还可以将其各个组件作为二次开发的一部分。QGIS_App具有一个完整的GIS主界面和多个插件(plugins),这些…

geolife笔记/python笔记:trackintel.io.read_geolife

此函数解析 geolife_path 目录中可用的所有 geolife 数据 trackintel.io.read_geolife(geolife_path, print_progressFalse) 参数&#xff1a; geolife_path (str) 包含 geolife 数据的目录路径 print_progress (Bool, 默认为 False)如果设置为 True&#xff0c;则显示每个…

在protobuf里定义描述rpc方法的类型

service UserServiceRpc //在test.proto中定义 { rpc Login(LoginRequest)returns(LoginResponse); rpc GetFriendLists(GetFriendListRequest)returns(GetFriendListResponse); } test.proto文件生成test.pb.cc protoc test.proto --cpp_out./ 将生成的…