1. 線程池創建的作用是什么 ? 線程池的核心參數有哪些 ? 線程池執行任務的流程 ?
作用:提高線程的復用性,降低損耗資源。
核心參數:核心線程? 、最大線程數? 、等待空閑時間、時間單位、任務隊列、線程工廠、拒絕策略
執行流程:?首先在提交任務的時候會先去判斷核心線程能否執行,如果不能執行就要交給任務隊列,此時需要判斷任務隊列是否滿了,如果任務隊列滿了的話判斷能否創建零時線程,如果不能夠創建零時線程的話則執行拒絕策略。
2. 請簡單聊聊Mybatis中的 # 與 $ 的區別,以及Mybatis中的常見的動態SQL的標簽<if> <foreach> <set> <where> 及其 作用 和應用場景 ?
#,占位符最后會替代成?號,能夠防止SQL注入同時性能更高。
$,字符拼接符,拼接字符的。
<IF>做條件判斷的
<FOREACH>做循環的,通常用作批量刪除或者批量增加
<WHERE>如果條件成立,where關鍵字會自動生成,同時去除第一個條件前面的AND
<SET> 用作與更新,自動生成SET關鍵字,同時可以去除最后一個屬性后面的逗號。
3. SpringAOP中的常見的通知類型有哪些? 這些通知類型的執行時機?
前置通知@Before? ??目標方法執行前執行
環繞通知@Before? ??目標方法執行前執行,也可以在目標方法執行之后
后置通知@After? 目標方法執行以后
返回后通知@AfterRunturing? ?目標方法成功執行以后
異常后通知:@Afterthrowing? ? 目標方法執行拋出異常的時候