搜尋
首頁JavaJava面試題多年開發經驗總結的Java面試問題-(三)

多年開發經驗總結的Java面試問題-(三)

一、Java 中的final關鍵字有哪些用法? 

修飾的變數必須初始化或不能修改,修飾類別不能被繼承,修飾方法不能被重寫。

(更多面試題推薦:java常見面試題

#二、try{}裡面有一個return語句,那麼就緊接在這個try後的finally{}裡的程式碼會不會被執行,什麼時候被執行,在return前還是後? 

會執行會在return執行完之後還沒回傳結果之前執行,return會把回傳結果放到函數堆疊等待finally執行完之後才真正的回傳;

三、闡述final、finally、finalize的差別。

 final用來修飾類別(不能繼承)、變數(不能修改,只能賦值一次)、方法(不能重寫)

finally是用於try{}catch執行過程中有沒有異常捕獲都要執行的finally塊,關閉資源等...

finalize是方法名,對象遺言,用於在垃圾收集器回收清理對象之前要執行的方法,在object類別定義的,所有類別都繼承了它。

(相關教學推薦:java入門教學

四、如何透過反射建立物件?

透過Class物件的newInstance()方法來建立Class物件對應類別的實例

使用Class物件取得指定的Constructor對象,呼叫Constructor物件的newInstance()方法來創建Class物件對應類別的實例。

五、Java 8的新特性 

1、Java 8引進了函數式介面的概念。 Lambda允許把函數當作一個方法的參數,或是把程式碼看成資料。

2、介面的預設方法與靜態方法,在介面中定義預設方法,使用default關鍵字,並提供預設的實作。所有實作這個介面的類別都會接受預設方法的實現,除非子類別提供的自己的實現,在介面中定義靜態方法,使用static關鍵字,也可以提供實作。

3、方法引用,結合Lambda表達式結合使用

(1)建構器引用。語法是Class::new 

(2)靜態方法參考。語法是Class::static_method

(3)特定類別的任意物件方法參考。它的語法是Class::method

(4)特定物件的方法引用,它的語法是instance::method

4、Java 8引入重複註解,相同的註解在同一地方可以聲明多次。重複註解機製本身需要用@Repeatable註解。 Java 8在編譯器層做了最佳化,相同註解會以集合的方式保存,因此底層的原理並沒有改變。

5、擴展註解的支持,java 8擴展了註解的上下文,幾乎可以為任何東西添加註解,包括局部變數、泛型類別、父類別與介面的實現,連方法的異常也能添加註解。

6、引入Optional類,防止空指標異常,Optional類別其實是容器:它可以保存類型T的值,或是保存null。使用Optional類我們就不用顯式進行空指標檢查了。

(影片教學建議:java課程

7、引入Stream API ,函數式程式設計風格,讓程式碼變得連串支援連續、並行聚集操作,簡單明了。

8、JavaScript引擎Nashorn,Nashorn允許在JVM上開發運行JavaScript應用,讓Java與JavaScript相互呼叫。

9、Base64,Base64類別提供了對URL、MIME友善的編碼器與解碼器。

10、Date/Time API (JSR 310),提供了新的java.time包,可以用來取代java.util.Date和java.util.Calendar,一般會用到Clock、LocaleDate、 LocalTime、LocaleDateTime、ZonedDateTime、Duration這些類,對於時間日期的改進還是非常好的。

除了這十大新特性之外,還有另外的一些新特性:

  • #更好的類型推測機制:Java 8在類型推測方面有了很大的提高,這就使程式碼更整潔,不需要太多的強制類型轉換了。

  • 編譯器最佳化:Java 8將方法的參數名稱加入了字節碼中,這樣在運行時透過反射就能取得到參數名,只需要在編譯時使用- parameters參數。

  • 並行(parallel)陣列:支援對陣列進行平行處理,主要是parallelSort()方法,它可以在多核心機器上大幅提高陣列排序的速度。

  • 並發(Concurrency):在新增Stream機制與Lambda的基礎之上,加入了一些新方法來支援聚集操作。

  • Nashorn引擎jjs:基於Nashorn引擎的命令列工具。它接受一些JavaScript原始程式碼為參數,並執行這些原始程式碼。

  • 類別依賴分析器jdeps:可以顯示Java類別的套件層級或類別層級的依賴。

  • JVM的PermGen空間被移除:取代它的是Metaspace(JEP 122)。

以上是多年開發經驗總結的Java面試問題-(三)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:csdn。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。