Java的垃圾回收机制:强制回收()Time().gc()

更新时间:2023-07-12 22:15:03 阅读: 评论:0

Java的垃圾回收机制:强制回收
下车伊始()Time().gc()
垃圾回收
当引⽤类型的实体,如对象、数组等不再被任何变量引⽤的时候。这块占⽤的内存就成为了垃圾。JVM会根据⾃⼰的策略决定是回收内存注意:
1. 垃圾回收只回收内存中的对象,⽆法回收物理资源(数据库连接,⽹络IO等)
2. 程序⽆法精确的控制台垃圾回收的运⾏,垃圾回收汇总任何时候进⾏,系统⾃动。
3. 在垃圾回收机制回收任何对象之前总会调⽤他的finalize()⽅法。
对象在内存中的三种状态:
1. 可达状态:对象有变量再引⽤。instructed
2. 可恢复状态:如果⼀个对象没有任何变量引⽤它,但是调⽤了finalize()后⼜有新的变量引⽤了对象,中间的状态为“可恢复状态”。
3. 不可达状态:对象没有变量引⽤,并且重新调⽤了finalize()⽅法后,还没有变成可达状态,就变为不可达状态,系统开始回收资源。强制垃圾回收() ()
关联词练习
d.study.rubbish;
import javax.naming.Name;
/**
* @ClassName RubbishTest
* @projectName: object1
* @author: Zhangmingda
* @description:测试⼲预垃圾回收
* date: 2021/4/6.
*/
美国密歇根大学public class RubbishTest {
福建客家土楼
private String name;
//构造⽅法
public RubbishTest(String name) {
this.name = name;
}
//重写finalize增加输出便于观察是否⾃动回收了对象
荷花街道@Override
protected void finalize() throws Throwable {海滩拍照
System.out.println(name + "要被回收了");
super.finalize();
}
/
/测试创建多个对象,看垃圾有没有⾃动回收
public static void main(String[] args) {
for(int i=0;i<1000; i++) {
new RubbishTest("name" + i);
System.out.println("循环打印" + "name" + i);
//强制垃圾回收,当没有变量引⽤上⾯new出来的对象,就会调⽤finalize()⽅法回收内存
<();
夫晋何厌之有翻译
//Runtime().gc();
} } }

本文发布于:2023-07-12 22:15:03,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1093223.html

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

下一篇:net内存管理
标签:回收   对象   垃圾   状态   内存
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图