亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

java異常架構圖和幾個面試題

2019-11-14 15:20:19
字體:
來源:轉載
供稿:網友

1.java異常架構圖

粉紅色的是受檢查的異常(checked exceptions),其必須被 try{}catch語句塊所捕獲,或者在方法簽名里通過throws子句聲明.受檢查的異常必須在編譯時被捕捉處理,命名為 CHecked Exception 是因為Java編譯器要進行檢查,Java虛擬機也要進行檢查,以確保這個規則得到遵守.
綠色的異常是運行時異常(runtime exceptions),需要程序員自己分析代碼決定是否捕獲和處理,比如 空指針,被0除...
而聲明為Error的,則屬于嚴重錯誤,需要根據業務信息進行特殊處理,Error不需要捕捉。

2.try{}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執行,什么時候被執行,在return前還是后?

也許你的答案是在return之前,但往更細地說,我的答案是在return中間執行,請看下面程序代碼的運行結果:

 1 public  classTest {   2    3     public static void main(String[] args) {   4        System.out.PRintln(newTest().test());   5     }   6     staticint test()   7     {   8        int x = 1;   9        try  10        {  11            return x;  12        }  13        finally  14        {  15            ++x;  16        }  17     }  18 }  

---------執行結果 ---------

運行結果是1,為什么呢?主函數調用子函數并得到結果的過程,好比主函數準備一個空罐子,當子函數要返回結果時,先把結果放在罐子里,然后再將程序邏輯返回到主函數。所謂返回,就是子函數說,我不運行了,你主函數繼續運行吧,這沒什么結果可言,結果是在說這話之前放進罐子里的。

3。final, finally, finalize的區別。

  final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。

內部類要訪問局部變量,局部變量必須定義成final類型,例如,一段代碼……

 

finally是異常處理語句結構的一部分,表示總是執行。

 

finalize是Object類的一個方法,在垃圾收集器執行的時候會調用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關閉文件等。JVM不保證此方法總被調用

4.請寫出你最常見到的5個runtime exception。

這道題主要考你的代碼量到底多大,如果你長期寫代碼的,應該經常都看到過一些系統方面的異常,你不一定真要回答出5個具體的系統異常,但你要能夠說出什么是系統異常,以及幾個系統異常就可以了,當然,這些異常完全用其英文名稱來寫是最好的,如果實在寫不出,那就用中文吧,有總比沒有強!

所謂系統異常,就是…..,它們都是RuntimeException的子類,在jdk doc中查RuntimeException類,就可以看到其所有的子類列表,也就是看到了所有的系統異常。我比較有印象的系統異常有:NullPointerException、ArrayIndexOutOfBoundsException、ClassCastException。

5.JAVA語言如何進行異常處理,關鍵字:throws,throw,try,catch,finally分別代表什么意義?在try塊中可以拋出異常嗎?

Java 通過面向對象的方法進行異常處理,把各種不同的異常進行分類,并提供了良好的接口。在 Java 中,每個異常都是一個對象,它是 Throwable 類或其它子類的實例。當一個方法出現異常后便拋出一個異常對象,該對象中包含有異常信息,調用這個對象的方法可以捕獲到這個異常并進行處理。Java 的異常處理是通過 5 個關鍵詞來實現的:try、catch、throw、throws 和 finally。一

般情況下是用 try 來執行一段程序,如果出現異常,系統會拋出(throws)一個異常,這時候你可以通過它的類型來捕捉(catch)它,或最后(finally)由缺省處理器來處理;

 try 用來指定一塊預防所有“異常”的程序;

 catch 子句緊跟在 try 塊后面,用來指定你想要捕捉的“異常”的類型;

 throw 語句用來明確地拋出一個“異常”;

 throws 用來標明一個成員函數可能拋出的各種“異常”;

 Finally 為確保一段代碼不管發生什么“異常”都被執行一段代碼;

 可以在一個成員函數調用的外面寫一個 try 語句,    在這個成員函數內部寫另一個 try 語句保護其他代碼。每當遇到一個 try 語句,“異常”的框架就放到堆棧上面,直到所有的 try 語句都完成。如果下一級的 try 語句沒有對某種“異常”進行處理,堆棧就會展開,直到遇到有處理這種“異常”的 try 語句。

6.運行時異常與一般異常有何異同?

異常表示程序運行過程中可能出現的非正常狀態,運行時異常表示虛擬機的通常操作中可能遇到的異常,是一種常見運行錯誤。java編譯器要求方法必須聲明拋出可能發生的非運行時異常,但是并不要求必須聲明拋出未被捕獲的運行時異常。

7..下面的程序代碼輸出的結果是多少?

public class  smallT{

         public static void  main(String args[]){

                   smallT t  = new smallT();

                   int  b =  t.get();

                   System.out.println(b);

         }

         public int  get()

         {

                   try     {return 1;}

                   finally{return 2;}

         }}

返回的結果是2。

我可以通過下面一個例子程序來幫助我解釋這個答案,從下面例子的運行結果中可以發現,try中的return語句調用的函數先于finally中調用的函數執行,也就是說return語句先執行,finally語句后執行,所以,返回的結果是2。Return并不是讓函數馬上返回,而是return語句執行后,將把返回結果放置進函數棧中,此時函數并不是馬上返回,它要執行finally語句后才真正開始返回。

在講解答案時可以用下面的程序來幫助分析:

public  class Test {

    public static void main(String[]args) {

        System.out.println(new Test().test());;

    }

    int test()

    {

        try         {return func1();}

        finally    {return func2();}

    }

   

    int func1()

    {

        System.out.println("func1");

        return 1;

    }

    int func2()

    {

        System.out.println("func2");

        return 2;

    }  

}

-----------執行結果-----------------

func1

func2

2

結論:finally中的代碼比return 和break語句后執行


上一篇:return的用法

下一篇:springAOP的注解實例

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美亚洲另类激情另类| 亚洲va码欧洲m码| 亚洲成人免费在线视频| 亚洲精品xxx| 91精品国产自产在线| 97久久精品人搡人人玩| 97超级碰在线看视频免费在线看| 中文在线资源观看视频网站免费不卡| 中文字幕欧美在线| 国产精品啪视频| 亚洲视频欧洲视频| 97精品国产91久久久久久| 日韩精品黄色网| 中文字幕亚洲综合久久筱田步美| 91福利视频在线观看| 欧美电影在线观看完整版| 久久国内精品一国内精品| 91精品国产91久久久| 久久久久久国产精品美女| 九九热这里只有精品6| 国内伊人久久久久久网站视频| 久久福利视频网| 亚洲午夜国产成人av电影男同| 亚洲亚裔videos黑人hd| 中文字幕av一区二区| 欧美性xxxx在线播放| 九九热这里只有精品6| 久久久久久久久久国产精品| 一本大道久久加勒比香蕉| 欧美福利在线观看| 国产在线精品自拍| 欧美综合一区第一页| 最新69国产成人精品视频免费| 日韩视频第一页| 97免费中文视频在线观看| 国产亚洲日本欧美韩国| 国产97色在线|日韩| 亚洲欧洲偷拍精品| 中文字幕视频在线免费欧美日韩综合在线看| 久久精品视频中文字幕| 黑人极品videos精品欧美裸| 91系列在线观看| 亚洲国模精品一区| 亚洲国产欧美自拍| 成人免费网站在线看| 精品国产精品自拍| 亚洲欧美日韩视频一区| 亚洲精品自拍视频| 色噜噜狠狠狠综合曰曰曰| 在线视频亚洲欧美| 欧美极品少妇全裸体| 亚洲在线观看视频| 97欧美精品一区二区三区| 一本色道久久88精品综合| 欧美高清一级大片| 欧美电影在线观看完整版| 国产精品丝袜高跟| 在线激情影院一区| 正在播放欧美视频| 亚洲va久久久噜噜噜| 国产日韩精品综合网站| 色综合视频一区中文字幕| 欧美一级淫片videoshd| 午夜免费久久久久| 一区二区在线免费视频| 精品成人久久av| 久热精品视频在线免费观看| 亚洲人成啪啪网站| 亚洲国产精彩中文乱码av在线播放| 色偷偷偷综合中文字幕;dd| 色综合久久88色综合天天看泰| 亚洲综合在线播放| 亚洲免费成人av电影| 日韩成人在线播放| 日韩一区二区三区xxxx| 热久久美女精品天天吊色| 色噜噜狠狠狠综合曰曰曰| 日韩免费中文字幕| 欧美在线观看日本一区| 久久伊人精品一区二区三区| 国产成人精品在线播放| 国产精品∨欧美精品v日韩精品| 97涩涩爰在线观看亚洲| 亚洲福利视频免费观看| 国产精品网红直播| 一色桃子一区二区| 亚洲第一天堂av| 久久久久久这里只有精品| 国产精品18久久久久久首页狼| 日韩精品免费在线观看| 久久99久国产精品黄毛片入口| 国产视频精品一区二区三区| 97热在线精品视频在线观看| 亚洲国产欧美久久| 成人午夜激情网| 亚洲人午夜精品| 亚洲电影免费在线观看| 91深夜福利视频| 57pao国产成人免费| 国产亚洲精品久久久久久牛牛| 国产日韩欧美视频| 91精品国产综合久久香蕉最新版| 欧美日韩免费区域视频在线观看| 午夜精品久久久久久久久久久久久| 国产精品美女主播在线观看纯欲| 国产欧美精品日韩精品| 欧美色videos| 亚洲图片欧美午夜| 欧美黑人巨大xxx极品| 国产91在线播放九色快色| 热草久综合在线| 国产精品扒开腿做爽爽爽男男| 777午夜精品福利在线观看| 日韩亚洲综合在线| 亚洲国产成人精品电影| 久久午夜a级毛片| 日韩高清a**址| 在线观看日韩av| 免费不卡在线观看av| 欧美日韩中文在线| 亚洲一区二区三区久久| 久久久精品一区二区三区| 亚洲国产日韩欧美在线图片| 国产日韩视频在线观看| 日日狠狠久久偷偷四色综合免费| 91欧美激情另类亚洲| 色爱av美腿丝袜综合粉嫩av| 97**国产露脸精品国产| 欧洲精品久久久| 欧美精品在线第一页| 欧美成人午夜免费视在线看片| 伊人av综合网| 久久伊人精品一区二区三区| 国产欧美亚洲视频| 国产精品永久免费视频| 日韩有码在线电影| 中文字幕精品久久| 国产成人精品在线视频| 亚洲午夜女主播在线直播| 国产成人一区二区三区小说| 亚洲综合中文字幕在线| 国产精品免费电影| 91精品国产沙发| 久久av中文字幕| 国产精品视频成人| 亚洲国产欧美一区二区丝袜黑人| 97免费中文视频在线观看| 国产成人aa精品一区在线播放| 欧美激情视频在线免费观看 欧美视频免费一| 欧美寡妇偷汉性猛交| 久久久久中文字幕| 欧美精品日韩www.p站| 国产精品一区二区在线| 亚洲美女动态图120秒| 欧美性xxxx| 91精品免费久久久久久久久| 亚洲色图第一页| 成人福利视频在线观看| 日韩中文字幕第一页| 国产91精品网站| 日韩av中文字幕在线播放| 欧美成人国产va精品日本一级| 91精品国产色综合| 欧美裸体xxxxx|