1. 線程池的核心參數(高薪常問)
(1)corePoolSize:核心線程個數
(2)maximumPoolSize:最大線程個數
(3)keepAliveTime:最大存活時間
(4)unit:存活時間的時間單位
(5)workQueue:阻塞隊列,用于存儲阻塞的隊列
(6)threadFactory:創建線程的工程類
(7)handler:線程最終拒絕處理策略
2. 線程池的原理(高薪常問)
1.查看有無閑置核心線程
有則交給閑置核心線程去處理;
2.如果沒有閑置核心線程
就查看核心線程數是否已滿
未滿則創建核心線程去處理;
3.如果核心線程數已滿
就查看阻塞隊列是否已滿
未滿則加入阻塞隊列等待處理;
4.如果阻塞隊列已滿
就查看有無閑置的臨時線程
有則交給閑置的臨時線程處理;
5.如果沒有閑置的臨時線程
就查看最大線程數有沒有達到
沒達到則創建臨時線程去處理;
6.如果已經達到最大線程數
則交給拒絕策略去處理。
3. 聚合函數(必會)
聚合函數是SQL提供來統計、求和、求最值的函數。
比如:
COUNT:統計數量(統計行數量)
SUM:求和(求某個列的合計值)
AVG:求均值(求某個列的平均值)
MAX:求最大值(列的最大值)
MIN:求最小值(列的最小值)
4. String、StringBuffer、StringBuilder 三者之間的區別(必會)
String不能省內存的拼接字符串,SBu和SBf可以。
SBu線程不安全,SBf線程安全。
1.操作少量字符串用String
2.操作大量字符串,單線程情況,用StringBuilder
3.操作大量字符串,多線程情況,用StringBuffer
5. 如何啟動一個新線程、調用 start 和 run 方法的區別?(必會)
參見我上一天的補充:
每日后端面試5題 第三天_zrc007007的博客-CSDN博客