一个利用System.gc和finalize研究Java垃圾回收机制的练习
JAVA 一个 利用 机制 研究 练习 system 垃圾
2023-09-14 09:03:08 时间
源代码:
package basic;
public class finalizeTest {
private String name;
public void finalize(){
System.out.println("finalize called: " + this.name);
System.out.println("Thread id in finalize: " + Thread.currentThread().getId());
}
public finalizeTest(String name){
this.name = name;
}
public static void main(String[] args) {
System.out.println("Main Thread id: " + Thread.currentThread().getId());
finalizeTest test = new finalizeTest("Jerry");
test.hashCode();
/* 这个新创建出来的对象实例没有任何变量指向它,因此System.gc()调用之后就会被回收
* 而且能发现Scala实例执行finalize方法的线程并不是主线程,打印出的线程ID不一样
* */
new finalizeTest("Scala");
System.gc();
}
}
打印输出:
Main Thread id: 1
finalize called: Scala
Thread id in finalize: 3
相关文章
- Java程序员最喜欢的11款免费IDE编辑器
- Java类集--Iterator接口、ListIterator接口、foreach及Enumeration接口
- Java实现 LeetCode 368 最大整除子集
- Java实现 LeetCode 146 LRU缓存机制
- Java实现 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes
- Java实现大整数乘法
- Java中IO软件包的详细介绍
- Java - 初识Java
- Linux安装jadx-gui:反编译jar包或java class文件
- UI5控件类似Java反射机制的一个小技巧
- paip.操作符重载的缺失 Java 的一个大缺点
- 一个利用System.gc和finalize研究Java垃圾回收机制的练习
- Java遇上SPL:架构优势和开发效率,一个不放过
- java.util.concurrent.TimeUnit
- java 从一个总的list集合中,去掉指定的集合元素,得到新的集合——removeAll()
- 一个程序说明java中this关键字
- Java //PP2.3 编写一个应用程序,输出提示信息并读入某人的姓名、年龄、所属学院和宠物的名字,然后显示出下述文字,并在其中插入适当的数据: Hello, my name is name...
- 【Java 并发编程实战】使用 AQS 实现一个简单的互斥锁
- java 接口和抽象类的一个最大的区别
- Java中IO流,输入输出流概述与总结
- Java Volatile的一个实际应用场合
- java学习笔记——Collection集合、迭代器、泛型、扑克牌案例