最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java垃圾回收機制的finalize方法實例分析

 更新時間:2019年08月02日 08:47:26   作者:cakincqm  
這篇文章主要介紹了Java垃圾回收機制的finalize方法,結(jié)合實例形式分析了finalize方法的特點及在垃圾回收機制中的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Java垃圾回收機制的finalize方法。分享給大家供大家參考,具體如下:

一 點睛

finalize方法有如下四個特點:

  • 永遠不要主動調(diào)用某個對象的finalize方法,該方法應(yīng)交給垃圾回收機制調(diào)用。
  • finalize方法的何時被調(diào)用,是否被調(diào)用具有不確定性。不要把finalize方法當(dāng)成一定會被執(zhí)行的方法。
  • 當(dāng)JVM執(zhí)行可恢復(fù)對象的finalize方法時,可能使該對象或系統(tǒng)中其他對象重新變成可達狀態(tài)。
  • 當(dāng)JVM執(zhí)行finalize方法時出現(xiàn)了異常,垃圾回收機制不會報告異常,程序繼續(xù)執(zhí)行。

由于finalize()方法并不一定會被執(zhí)行,因此如果想清理某個類里打開的資源,則不要放在finali()方法中進行清理。

二 實戰(zhàn)——復(fù)活自身

1 代碼

public class FinalizeTest
{
  private static FinalizeTest ft = null;
  public void info()
  {
   System.out.println("測試資源清理的finalize方法");
  }
  public static void main(String[] args) throws Exception
  {
   // 創(chuàng)建FinalizeTest對象立即進入可恢復(fù)狀態(tài)
   new FinalizeTest();
   // 通知系統(tǒng)進行資源回收
   System.gc(); //A 處
   // 強制垃圾回收機制調(diào)用可恢復(fù)對象的finalize()方法
//  Runtime.getRuntime().runFinalization();  //B處
   System.runFinalization();  //C處
   ft.info();
  }
  public void finalize()
  {
   // 讓tf引用到試圖回收的可恢復(fù)對象,即可恢復(fù)對象重新變成可達
   ft = this;
  }
}

2 運行

測試資源清理的finalize方法

3 說明

A處和C處的代碼必須都執(zhí)行,否則因為垃圾回收的不確定性,finalize不會被執(zhí)行,導(dǎo)致程序最終異常執(zhí)行。

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計入門與進階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • java單機接口限流處理方案詳解

    java單機接口限流處理方案詳解

    這篇文章主要為大家詳細介紹了java單機接口限流處理方案,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • JAVA純代碼導(dǎo)出PDF文件實現(xiàn)方式

    JAVA純代碼導(dǎo)出PDF文件實現(xiàn)方式

    本文介紹了作者通過突發(fā)奇想發(fā)布了生成PDF的博客,最初,作者通過將Word文件轉(zhuǎn)換為PDF文件實現(xiàn)導(dǎo)出PDF功能,但效果不盡如人意,后來,作者嘗試直接生成PDF文件,并修復(fù)了生成PDF時出現(xiàn)的小瑕疵,通過導(dǎo)入依賴、下載接口和下載方法的實現(xiàn)
    2025-01-01
  • 客戶端設(shè)置超時時間真的很重要

    客戶端設(shè)置超時時間真的很重要

    今天小編就為大家分享一篇關(guān)于客戶端設(shè)置超時時間真的很重要,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Mybatis select記錄封裝的實現(xiàn)

    Mybatis select記錄封裝的實現(xiàn)

    這篇文章主要介紹了Mybatis select記錄封裝的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • JWT令牌的工作原理詳解

    JWT令牌的工作原理詳解

    這篇文章主要介紹了JWT令牌的工作原理詳解,在認(rèn)證的時候,當(dāng)用戶用他們的的憑證成功登錄以后,一個JSON?Web?Token將會被返回,此后,用戶名和密碼就不再是用戶的憑證,而token是用戶用來訪問資源的新憑證了,需要的朋友可以參考下
    2023-08-08
  • Spring中的事務(wù)控制知識總結(jié)

    Spring中的事務(wù)控制知識總結(jié)

    我們講了轉(zhuǎn)賬方法存在著事務(wù)問題,當(dāng)在業(yè)務(wù)層方法更新轉(zhuǎn)入賬戶時發(fā)現(xiàn)異常,更新收款方賬戶則會出錯.當(dāng)時是通過自定義事務(wù)管理器進行整體事務(wù)的處理.其實Spring 提供了業(yè)務(wù)層的事務(wù)處理解決方案,并且 Spring 的事務(wù)控制都是基于 AOP 的,需要的朋友可以參考下
    2021-06-06
  • Java多線程編程之CountDownLatch同步工具使用實例

    Java多線程編程之CountDownLatch同步工具使用實例

    這篇文章主要介紹了Java多線程編程之CountDownLatch同步工具使用實例,需要的朋友可以參考下
    2015-05-05
  • Spring中的@Conditional注解實現(xiàn)分析

    Spring中的@Conditional注解實現(xiàn)分析

    這篇文章主要介紹了Spring中的@Conditional注解實現(xiàn)分析,  @Conditional是Spring 4出現(xiàn)的注解,但是真正露出價值的是Spring Boot的擴展@ConditionalOnBean等,需要的朋友可以參考下
    2023-12-12
  • Java的增強for循環(huán)修改數(shù)組元素的問題小結(jié)

    Java的增強for循環(huán)修改數(shù)組元素的問題小結(jié)

    增強for循環(huán)的元素變量x,就是一個局部變量,它是引用數(shù)組當(dāng)前元素引用的副本(就相當(dāng)于上文所說的你復(fù)刻朋友的鑰匙),或者是基本數(shù)據(jù)類型的值的副本,這篇文章主要介紹了Java的增強for循環(huán)修改數(shù)組元素的問題小結(jié),需要的朋友可以參考下
    2024-02-02
  • 深入探討JAVA中的異常與錯誤處理

    深入探討JAVA中的異常與錯誤處理

    這篇文章詳細介紹了JAVA中的異常與錯誤處理,有需要的朋友可以參考一下
    2013-09-09

最新評論

上饶县| 南召县| 乐业县| 定襄县| 洪泽县| 赤峰市| 鲜城| 时尚| 康马县| 高尔夫| 青铜峡市| 秦安县| 报价| 崇信县| 铜陵市| 尚义县| 定西市| 若尔盖县| 翁牛特旗| 黄骅市| 含山县| 田林县| 明星| 朝阳市| 桂平市| 晴隆县| 锡林郭勒盟| 黔西| 临朐县| 平安县| 海盐县| 凤冈县| 钦州市| 平乐县| 两当县| 上犹县| 信丰县| 根河市| 澎湖县| 陈巴尔虎旗| 自贡市|