Java面試:實用面試題及參考答案
Java開發人員在面試中少不了會被詢問專業上的問題,面試官到底會問什么問題呢,想必小伙伴們一定很好奇吧,接下來小編就帶大家一起來看看java常見的面試題。
1、什么是多線程上下文切換?
多線程的上下文切換是指CPU控制權由一個已經正在運行的線程切換到另外一個就緒并等待獲取CPU執行權的線程的過程。
2、創建兩種線程的方式?他們有什么區別?
通過實現java.lang.Runnable或者通過擴展java.lang.Thread類。相比擴展Thread,實現Runnable接口可能更優.原因有二:Java不支持多繼承。因此擴展Thread類就代表這個子類不能擴展其他類。而實現Runnable接口的類還可能擴展另一個類。類可能只要求可執行即可,因此繼承整個Thread類的開銷過大。
3、Thread類中的start()和run()方法有什么區別?
start()方法被用來啟動新創建的線程,而且start()內部調用了run()方法,這和直接調用run()方法的效果不一樣。當你調用run()方法的時候,只會是在原來的線程中調用,沒有新的線程啟動,start()方法才會啟動新線程。
4、怎么檢測一個線程是否持有對象監視器?
Thread類提供了一個holdsLock(Object obj)方法,當且僅當對象obj的監視器被某條線程持有的時候才會返回true,注意這是一個static方法,這意味著”某條線程”指的是當前線程。
5、你知道哪些垃圾回收算法?
垃圾回收從理論上非常容易理解,具體的方法有以下幾種:
標記-清除
標記-復制
標記-整理
分代回收
6、如何判斷一個對象是否應該被回收?
這就是所謂的對象存活性判斷,常用的方法有兩種:
引用計數法;
對象可達性分析。
由于引用計數法存在互相引用導致無法進行GC的問題,所以目前JVM虛擬機多使用對象可達性分析算法。
7、int和Integer的區別?
Integer是int的包裝類型,在拆箱和裝箱中,二者自動轉換。int是基本類型,直接存數值,而integer是對象,用一個引用指向這個對象。
8、String, StringBuffer和StringBuilder區別?
String是字符串常量,final修飾:StringBuffer字符串變量(線程安全);
StringBuilder 字符串變量(線程不安全)。
9、如何將byte轉為String?
可以使用 String 接收 byte[] 參數的構造器來進行轉換,需要注意的點是要使用的正確的編碼,否則會使用平臺默認編碼,這個編碼可能跟原來的編碼相同,也可能不同。
10、可以將int強轉為byte類型么?會產生什么問題?
可以做強制轉換,但是Java中int是32位的而byte是8 位的,所以,如果強制轉化int類型的高24位將會被丟棄,byte 類型的范圍是從-128到128。
以上就是小編為大家整理的Java面試實用面試題及參考答案,希望可以幫到即將面臨面試的小伙伴們。
如果你對于Java開發感興趣,報名千鋒成都Java培訓課程準沒錯,校區全程采用面授教學確保學習質量,現在咨詢更有多種優惠活動、兩周免費試聽課程和全套免費Java學習視頻免費領取,還在等什么,咨詢在線老師領取吧。

猜你喜歡LIKE
最新文章NEW
相關推薦HOT
更多>>熱門推薦
Python面試時自我介紹的對話技巧有哪些?注意什么問題?
沸Java程序員該怎么樣去通過面試呢?掌握哪些技能
熱沒有經驗的web前端工程師怎么參加面試呢?
熱web前端面試題:ES6、VUE
新Java面試:實用面試題及參考答案
常見面試問題及回答技巧
web前端面試:web前端面試題匯總及答案
python面試:十道經典Python面試題
面試結束后該做些什么?
面試時做自我介紹要注意的事項
Java面試需要掌握的幾個小技巧?
宅在家里,不如為面試做準備
Web前端中與Vue有關的面試題目 助你更快更好的求職
在成都學完IT 千鋒老師為你總結通過面試的方法