亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中覆蓋finalize()方法實例代碼

 更新時間:2018年02月11日 08:43:41   作者:Alioo-壞人  
這篇文章主要介紹了Java中覆蓋finalize()方法實例代碼,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

本文研究的主要是Java中關于覆蓋finalize()方法的一次嘗試,具體實現(xiàn)如下。

測試代碼

package com.alioo.gc;

/**
 * 執(zhí)行結果:
 *
 */
public class FinalizeEscapeGC{
  public static FinalizeEscapeGC instance=null;
  public void isAlive(){
    System.out.println("yes,i am still alive");
  }
  @Override
  protected void finalize() throws Throwable {
    super.finalize();
    System.out.println("finalize methode executed");
    instance=this;
  }

  public static void main(String [] args) throws InterruptedException {
    instance=new FinalizeEscapeGC();

    instance=null;
    System.gc();
    Thread.sleep(1000);
    instance.isAlive(); //在沒有重寫finalize方法時,肯定是會報nullpointerException的

    instance=null;
    System.gc();
    Thread.sleep(1000);
    instance.isAlive();
  }
}

執(zhí)行結果:

finalize methode executed
yes,i am still alive
Exception in thread "main" java.lang.NullPointerException
at com.alioo.gc.FinalizeEscapeGC.main(FinalizeEscapeGC.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

解釋說明:

先執(zhí)行 instance=null;后執(zhí)行instance.isAlive(); 在沒有重寫finalize方法時,肯定是會報nullpointerException的,
但是實際執(zhí)行結果是一次逃脫成功,一次失敗,這是因為任何一個對象的finalize()方法都只會被系統(tǒng)自動調用一次,如果對象面臨下一次回收,它的finalize()方法就不會再次執(zhí)行

總結

這個拯救對象的方式帶有極大的不確定性,建議大家不用使用它,忘掉這個方法的存在。

以上就是本文關于Java中覆蓋finalize()方法實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關文章

  • java集合 ArrayDeque源碼詳細分析

    java集合 ArrayDeque源碼詳細分析

    ArrayDeque是一種以數(shù)組方式實現(xiàn)的雙端隊列,它是非線程安全的。下面小編和大家一起學習一下
    2019-05-05
  • 關于SpringGateway調用服務 接受不到參數(shù)問題

    關于SpringGateway調用服務 接受不到參數(shù)問題

    這篇文章主要介紹了關于SpringGateway調用服務接受不到參數(shù)問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • JAVA8獨有的map遍歷方式(非常好用)

    JAVA8獨有的map遍歷方式(非常好用)

    這篇文章主要介紹了JAVA8獨有的map遍歷方式(非常好用),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • 解決org.springframework.context.ApplicationContextException報錯的問題

    解決org.springframework.context.ApplicationContextException報錯的

    這篇文章主要介紹了解決org.springframework.context.ApplicationContextException報錯的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 關于java后端的詳解

    關于java后端的詳解

    在本篇文章里小編給各位分享的是關于java后端的知識點詳解,學習java的朋友們可以參考下。
    2019-08-08
  • Java中的@PreAuthorize注解使用詳解

    Java中的@PreAuthorize注解使用詳解

    這篇文章主要介紹了Java中的@PreAuthorize注解使用詳解,@PreAuthorize注解會在方法執(zhí)行前進行權限驗證,支持Spring EL表達式,它是基于方法注解的權限解決方案,需要的朋友可以參考下
    2023-10-10
  • ThreadPoolExecutor中的submit()方法詳細講解

    ThreadPoolExecutor中的submit()方法詳細講解

    在使用線程池的時候,發(fā)現(xiàn)除了execute()方法可以執(zhí)行任務外,還發(fā)現(xiàn)有一個方法submit()可以執(zhí)行任務,本文就詳細的介紹一下ThreadPoolExecutor中的submit()方法,具有一定的參考價值,感興趣的可以了解一下
    2022-04-04
  • Spring MVC請求參數(shù)接收的全面總結教程

    Spring MVC請求參數(shù)接收的全面總結教程

    這篇文章主要給大家總結介紹了關于Spring MVC請求參數(shù)接收的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-08-08
  • 深入理解spring多數(shù)據(jù)源配置

    深入理解spring多數(shù)據(jù)源配置

    項目中我們經(jīng)常會遇到多數(shù)據(jù)源的問題,尤其是數(shù)據(jù)同步或定時任務等項目更是如此。本篇文章主要介紹了spring多數(shù)據(jù)源配置,有興趣的可以了解一下。
    2017-01-01
  • 必須詳細與全面的Java開發(fā)環(huán)境搭建圖文教程

    必須詳細與全面的Java開發(fā)環(huán)境搭建圖文教程

    本篇文章內容包括:Linux理論與實操,MySQL實操,JDK實操,Tomcat實操和Tomcat實操,需要的朋友可以參考下
    2019-11-11

最新評論