Java基礎
此時一般會問到一些Java的基礎知識,比如
l synchronized static修飾類和方法有什麼區別
l HashMap的原理,底層資料結構,rehash的過程,指標碰撞問題
l HashMap的執行緒安全問題,為什麼會產生這樣的執行緒安全問題
l ConcurrentHashMap的資料結構,底層原理,put和get是否執行緒安全
l Java IO的一些內容,包括NIO,BIO等
Java高階特性
此時問到的問題一般包含JVM,多執行緒的一些內容,這塊建議大家多看看原始碼,大致如下:
l Java執行緒池的構造方法,裡面引數的含義,以及原理
l volatile和ThreadLocal解決了什麼問題
l CAS在Java中的具體實現
l Java虛擬機器的構成,以及一個Java物件的生命週期,還有堆疊和方法區中儲存的內容
l JVM的GC過程,包括一些實際問題的分析,比如說明一個現象,讓你分析可能是什麼原因會導致這樣的問題,應該如何對JVM引數進行調優
l synchronized和Lock的區別,以及底層實現原理
l Full GC和Minor GC觸發的條件
l GC Roots的選擇
l jmap,jstat,jstack等的使用場景,MAT等
l ClassLoader的載入過程
l CountDownLatch、CyclicBarrier和Semaphore等
l Java 8 的新特性等
Java基礎
此時一般會問到一些Java的基礎知識,比如
l synchronized static修飾類和方法有什麼區別
l HashMap的原理,底層資料結構,rehash的過程,指標碰撞問題
l HashMap的執行緒安全問題,為什麼會產生這樣的執行緒安全問題
l ConcurrentHashMap的資料結構,底層原理,put和get是否執行緒安全
l Java IO的一些內容,包括NIO,BIO等
Java高階特性
此時問到的問題一般包含JVM,多執行緒的一些內容,這塊建議大家多看看原始碼,大致如下:
l Java執行緒池的構造方法,裡面引數的含義,以及原理
l volatile和ThreadLocal解決了什麼問題
l CAS在Java中的具體實現
l Java虛擬機器的構成,以及一個Java物件的生命週期,還有堆疊和方法區中儲存的內容
l JVM的GC過程,包括一些實際問題的分析,比如說明一個現象,讓你分析可能是什麼原因會導致這樣的問題,應該如何對JVM引數進行調優
l synchronized和Lock的區別,以及底層實現原理
l Full GC和Minor GC觸發的條件
l GC Roots的選擇
l jmap,jstat,jstack等的使用場景,MAT等
l ClassLoader的載入過程
l CountDownLatch、CyclicBarrier和Semaphore等
l Java 8 的新特性等