一个利用System.gc和finalize研究Java垃圾回收机制的练习
生活随笔
收集整理的這篇文章主要介紹了
一个利用System.gc和finalize研究Java垃圾回收机制的练习
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
源代碼:
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();/* 這個新創(chuàng)建出來的對象實例沒有任何變量指向它,因此System.gc()調(diào)用之后就會被回收 * 而且能發(fā)現(xiàn)Scala實例執(zhí)行finalize方法的線程并不是主線程,打印出的線程ID不一樣* */new finalizeTest("Scala");System.gc();}}打印輸出:
Main Thread id: 1 finalize called: Scala Thread id in finalize: 3總結(jié)
以上是生活随笔為你收集整理的一个利用System.gc和finalize研究Java垃圾回收机制的练习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 养老金扣除比例
- 下一篇: 部分华为荣耀老机型 2023 年 5 月