Java併發基礎知識你知道多少?java
java序列化與反序列化
git
https://github.com/zhantong/interview/blob/master/Java/Java.mdgithub
.java能夠有多個類嗎?有什麼要求?安全
源文件能夠javac出多個class文件嗎?有哪些狀況?數據結構
什麼是匿名類?多線程
switch後的變量類型能夠是什麼?閉包
char變量如何表示漢字?併發
final修飾一個變量內容不能改變嗎?
overload與override的區別?
構造器可否被重寫?
抽象類與類的區別?
抽象類和接口的交互?
java中實現多態的機制?
java中的閉包?https://sylvanassun.github.io/2017/07/30/2017-07-30-JavaClosure/ https://www.jianshu.com/p/0dcfa0a4e953
String的儲存機制?
try-catch-return-finally的順序?
當一個線程進入一個對象的sychronized方法後,其餘線程可否訪問該對象的其餘方法?
ArrayList與vector的區別?
hashmap與hashtable的區別?
list, set, map繼承自哪一個接口?
Collections和Collection的區別?
Java中有幾種類型的流?分別繼承了哪一個類?
jvm加載class文件的機制?
能不能本身寫個類也叫java.lang.String?
java中反射的做用是什麼?
成員變量,局部變量,靜態變量的區別?
各類引用類型的區別?
==與equals的區別?
equals和hashcode區別?
java集合框架圖?
error與exceptions的區別?
用戶線程和守護線程的區別?
守護線程中產生的線程屬於哪一種線程?
java內存模型?
BIO/NIO/AIO分別是什麼?
ArrayList的subList()是新建實例仍是返回自身?
ArrayList的asList()返回的是什麼?能夠調用add(),remove()等方法嗎?
Comparator注意事項?
HashMap多線程下死循環是怎麼產生的?
TreeMap,HashMap, HashTable, concurrentHashMap的key和value分別能爲null嗎?
SimpleDataFormat線程安全嗎?
一個Timer對象幾個線程?
Timer能夠用來並行處理定時任務嗎?
Random線程安全嗎?
多線程下使用Random會有什麼問題?應該改用什麼?
Thread.join()是如何實現的?
Java的值傳遞仍是引用傳遞?
線程同步的方法?
建立線程的方法?
類與類加載器的關係?
什麼是雙親委派機制?
如何自定義類加載器?
類的生命週期?
類初始化的時機?
類的加載過程?
<clinit>方法是什麼?
符號引用和直接引用區別?
如何理解平臺無關性?
運行時數據區域結構?
基於棧的指令集與基於寄存器的指令集的區別?
javac的編譯過程?
什麼是JIT?
什麼是熱點代碼?
如何判斷熱點代碼?
java與c/c++編譯器對比?
java線程的實現?
java線程的調度方式?
線程的狀態與轉換方式?
無限期等待有哪些?限期等待和阻塞呢?
對象的訪問定位?
語法糖有哪些?
java線程安全的實現?
鎖優化?
什麼是鎖的自旋?什麼是自適應自旋?
什麼是鎖消除和鎖粗化?
輕量級鎖的做用是什麼?能夠代替重量級鎖嗎?
爲何sychronized修飾的對象最好是final?爲何最好不用String?
Object類有哪些方法?
sleep()和wait()的區別?
java歷史版本特性?
TheadLocal原理?
java8對hashmap的改進?
如何理解NIO?
concurrent包?
當前線程wait()後會當即阻塞嗎?其餘線程能進入同步塊嗎?
何時wait()會拋出interrupted異常?
調用notify()後線程會被馬上喚醒嗎?
notify()和notifyAll()有什麼區別?
爲何notify()可能引起死鎖?
線程的sleep(), yield(), join()區別?
類名.class與類名.this的區別?