Java面試題(難度遞增)

1星:Java的基本數(shù)據(jù)類型有哪些
boolean,char,byte,short,int,long,float,double

1星:==和equals的區(qū)別
引用地址比較和對象內(nèi)容比較

1星:String類型在Java中是不可變的
不可變對象可以提高String Pool(字符串常量池)的效率和安全性

1星:HashMap 和 Hashtable 有什么區(qū)別?
一. HashMap可以接受null鍵和值,HashTable不行
二. HashTable是線程安全的,通過synchronized來保證,而HashMap線程不安全
三. HashMap的迭代器是fail-fast迭代器,而HashTable的enumerator迭代器不是fail-fast.

2星:在程序開發(fā)中,異常的處理方式

2星:值傳遞和引用傳遞
值傳遞是對基本型變量而言的,傳遞的是該變量的一個副本,改變副本不影響原變量.
引用傳遞一般是對于對象型變量而言的,傳遞的是該對象地址的一個副本, 并不是原對象本身 。 所以對引用對象進行操作會同時改變原對象.

2星:深拷貝和淺拷貝的區(qū)別是什么?
淺拷貝:被復(fù)制對象的所有變量都含有與原來的對象相同的值,而所有的對其他對象的引用仍然指向原來的對象。換言之,淺拷貝僅僅復(fù)制所考慮的對象,而不復(fù)制它所引用的對象。
深拷貝:被復(fù)制對象的所有變量都含有與原來的對象相同的值,而那些引用其他對象的變量將指向被復(fù)制過的新對象,而不再是原有的那些被引用的對象。換言之,深拷貝把要復(fù)制的對象所引用的對象都復(fù)制了一遍。

3星:當(dāng)一個線程調(diào)用了cancel方法時,內(nèi)部如何處理的
調(diào)用calcel方法,傳入true會中斷線程停止任務(wù),傳入false則會讓線程正常執(zhí)行至完成
1:主線程調(diào)用子線程的cancel方法時,會在子線程內(nèi)部設(shè)置中斷標(biāo)志位置為true
2:當(dāng)子線程此時為運行狀態(tài),則不會對此線程產(chǎn)生任何影響
3:當(dāng)子線程從等待狀態(tài)進入到運行狀態(tài)時,會判斷當(dāng)前線程的中斷標(biāo)志是否為true
4:結(jié)束任務(wù)的正常運行狀態(tài),并拋出InterruptedException

3星:如果你提交任務(wù)時,線程池隊列已滿。會時發(fā)會生什么?
如果你使用的LinkedBlockingQueue,也就是無界隊列的話,沒關(guān)系,繼續(xù)添加任務(wù)到阻塞隊列中等待執(zhí)行,因為LinkedBlockingQueue可以近乎認(rèn)為是一個無窮大的隊列,可以無限存放任務(wù);
如果你使用的是有界隊列比方說ArrayBlockingQueue的話,任務(wù)首先會被添加到ArrayBlockingQueue中,ArrayBlockingQueue滿了,則會使用拒絕策略RejectedExecutionHandler處理滿了的任務(wù),默認(rèn)是AbortPolicy。

3星:Java的內(nèi)存劃分
寄存器:記錄正在執(zhí)行的JVM指令的地址
本地方法棧:保存native方法進入?yún)^(qū)域的地址
方法區(qū):method(方法區(qū))又叫靜態(tài)區(qū),存放所有的①類(class),②靜態(tài)變量(static變量),③靜態(tài)方法,④常量和⑤成員方法
堆內(nèi)存:類的對象放在heap中
棧內(nèi)存:對象的引用存放在堆內(nèi)存中

3星:Java的垃圾回收算法有哪些
引用計數(shù)法
可達性分析算法
標(biāo)記-清除算法
分代收集算法

4星:請簡述可達性分析算法和垃圾回收過程
GCRoots的對象做為起點,從起點開始向下搜索,搜索的走過路徑叫引用鏈,當(dāng)一個對象到GCRoots沒有引用鏈時,判斷對象死亡。
在jvm中,做為GCRoots的對象:
虛擬機棧(棧楨中的本地變量表)中的引用的對象
方法區(qū)中的類靜態(tài)屬性引用的對象
方法區(qū)中的常量引用的對象
本地方法棧中JNI的引用的對象
當(dāng)一個對象進入到垃圾回收過程時,會調(diào)用對象的finalize方法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容