本文由廣州瘋狂軟件java培訓分享:java
泛型——基本概念數組
泛型是java SE 1.5的新特性,泛型的本質是參數化類型,也就是說所操做的數據類型被指定爲一個參數,這種參數類型能夠用在類、接口和方法的建立中,分別稱爲泛型類、泛型接口、泛型方法。安全
java語言引入泛型的好處是安全簡單在java SE1.5 以前,沒有泛型的狀況下,經過對類型Object的引用來實現參數的「任意化」,「任意化」帶來的缺點是要作顯式的強制類型轉換,而這種轉換是要求開發者對實際參數類型能夠預知的狀況下進行的。對於強制類型轉換錯誤的狀況,編譯器可能不提示錯誤,在運行的時候纔出現異常,這是一個安全隱患。網絡
泛型的好處是在編譯的時候檢查類型安全,而且全部的強制轉換都是自動和隱式的,提升代碼的重用率。性能
java->反射機制優化
泛型的優勢線程
使用泛型有下面幾個優勢:對象
(1)類型安全繼承
(2)向後兼容接口
(3)層次清晰
(4)性能較高,用GJ編寫的代碼能夠爲java編譯器和虛擬機帶來更多的類型信息,這些信息對java程序作進一步優化提供條件
異常處理
異常處理——基本概念:當出現程序沒法控制的外部環境問題(用戶提供的文件不存在:文件內容損壞,網絡不可用。。。)時,java就會用異常對象來描述
java中用2種方法處理異常:
(1)在發生異常的地方直接處理
(2)將異常拋給調用者,讓調用者處理異常分類:
(1)檢查性異常:java.lang.Exception
(2)運行期異常:java.lang.RuntimeException
(3)錯誤:java.lang.Error
頂層是java.lang.Throwable類,檢查性異常,運行期異常,錯誤都是這個類的子孫類,java.lang.Exception和java.lang.Error繼承自java.lang.Throwable,而java.lang.RuntimeException繼承自java.lang.Exception
檢查性異常:程序正確,但由於外在的環境條件不知足引起。例如:用戶錯誤及I/O問題——程序試圖打開一個並不存在的遠程Socket端口,或者是打開不存在的文件時,這不是程序自己的邏輯錯誤,而極可能是遠程機器名字錯誤(用戶拼寫錯誤)。對商用軟件系統,程序開發者必須考慮並處理這個問題,java編譯器強制要求處理這類異常,若是不捕獲這類異常,程序將不能被編譯。
運行期異常:這意味着程序存在bug,如數組越界,0被除,入參不知足規範。。。。這類異常須要更改程序來避免,java編譯器強制要求處理這類異常。
錯誤:通常不多見,也很難經過程序解決,它可能源於程序的bug,但通常更可能源於環境問題。如內存耗盡,錯誤在程序中無須處理,而由運行環境處理。
異常處理:
一、try…catch
程序運行產生異常時,將從異常發生點中斷程序並向外拋出異常信息。
finally
若是把finally塊置try…catch…語句後,finally塊通常都會獲得執行,它至關於一個萬能的保險,即便前面的try塊發生異常,而又沒有對應異常的catch塊,finally塊將立刻執行
如下情形,finally塊將不會被執行:
(1)finally塊中發生了異常:
(2)程序所在線程死亡
(3)在前面的代碼中用了System.exit();
(4)關閉CPU
異常處理
二、將異常拋給調用者,讓調用者處理異常
異常處理
三、多個異常的處理規則
定義多個catch可精確地定位異常,若是爲子類的異常定義了特殊的catch塊,而父類的異常則放在另一個catch塊中,此時,必須知足如下規則:子類異常的處理塊必須在父類異常處理塊的前面,不然會發生編譯錯誤,因此,越特殊的異常越在前面處理,越廣泛的異常越在後面處理,這相似於制訂防火牆的規則次序:較特殊的規則在前,較普通的規則在後
瘋狂軟件教育中心依託開發團隊的強大技術實力,把企業最新技術融入實訓課程,打造金牌的品質,才能給予學員黃金的將來,瘋狂軟件憑藉過硬的技術實力與豐富的項目開發經驗,贏得了社會的確定。瘋狂軟件Java培訓師資力量強大,課程內容深刻,爲學員高薪就業作了很好的鋪墊,擁有豐富就業指導經驗的就業團隊也成爲了學員高薪就業的先天優點。地址:廣州天河區車陂灃宏大廈3樓。