【Java基礎知識面試題 2】2020年6月20日 星期六(請不要查資料,填寫你們的答案)

1、什麼是線程池

線程池是是統一管理線程的地方,在使用線程時,可以直接從線程池中拿取,不需要new的過程。

線程池的優點:

(1)程序在使用線程時,可以直接從線程池中拿取,不需要new,提高了使用線程的效率。

(2)對線程進行統一管理,可以將不使用的線程銷燬,解決了線程過多造成的卡頓問題。

2、Java自帶有哪幾種線程池

(1)定長線程池

(2)帶緩存的線程池

(3)單一線程池

3、Java中有幾種類型的流

(1)字節流

  • 輸入流:InputStream(FileInputStream+BufferedInputStream)
  • 輸出流:OutputStream(FileOutputSteam+BufferedOutStream)

(2)字符流

  • 輸入型:Reader(InputstreamReader + BufferedReader)
  • 輸出流:Writer(OutputstreamWriter + BufferedWriter)

4、字節流如何轉爲字符流

通過InputstreamReader 的構造函數,傳入InputStream即可實現轉換。

5、請寫出你最常見的5個RuntimeException

  • NullPointerException;
  • 數組越界異常
  • 參數異常
  • 類型轉換異常
  • 類找不到異常

6、JVM內存分哪幾個區,每個區的作用是什麼?

(1)方法區

存放已加載的類,靜態變量,常量,在方法區中不進行垃圾回收操作

(2)棧

存放方法,棧的生命週期和方法的生命週期一致

(3)本地方法區

和棧的定義差不多,是native修飾的方法

(4)堆

虛擬機開啓時自動開闢的存儲空間,存放大量的變量,垃圾回收操作較爲頻繁。

(5)程序計數器

虛擬機在進行工作的時候,通過程序計數器來記錄具體的過程。

7、heap和stack有什麼區別

啞口無言!

(1)申請方式

(2)申請後系統的響應

(3)申請大小的限制

(4)申請效率的比較

(5)heap和stack中存儲的內容

8、Java類加載過程

 

9、什麼是類加載器,類加載器有哪些

 

10、Java中垃圾收集的方法有哪些

 

11、如何判斷一個對象是否存活(或者GC對象的判斷方法)

 

12、簡述Java內存分配與回收策略以及Minor GC 和Major GC(Full GC)

 

13、你所知道的設計模式有哪些

 

14、什麼是代理模式,爲什麼要用代理模式

 

15、有哪幾種代理模式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章