05-11學習總結

分庫分表

1.垂直分表:

按照字段使用多寡,字段類型(text,blob),字段長度將表拆分為多個表。--減輕了熱門數(shù)據(jù)的效率壓力,減少磁盤爭搶。

2.垂直分庫:

按照業(yè)務邏輯,將表拆分到不同的庫,庫被安置在不同的服務器。--業(yè)務耦合減少,業(yè)務邏輯清晰,提高高并發(fā)狀態(tài)下數(shù)據(jù)庫的連接數(shù),硬件資源瓶頸被提升,可按照業(yè)務分級數(shù)據(jù),拓展,監(jiān)控及維護,降低磁盤鎖定,io爭搶。

3.水平分庫:

按照一定規(guī)則將表拆分成不同的表放在不同服務器上的不同數(shù)據(jù)庫。--減少單庫大數(shù)據(jù),提升高并發(fā)性能,增加系統(tǒng)穩(wěn)定性及可用性

4.水平分表:

按照一定規(guī)則將表拆分成不同的表 --減少單表大數(shù)據(jù),提升單表效率


線程

? ? 線程生命周期:線程創(chuàng)建--》進入就緒狀態(tài)--》開始運行--》運行結束/調用sleep方法或其他導致堵塞的方法--》阻塞狀態(tài)--》休眠時間過期進入就緒狀態(tài)

線程池

? ? ? ? 創(chuàng)建線程池:excuter類,通過它的子類excuterThreadPool創(chuàng)建線程池,該類的創(chuàng)建方法中包含參數(shù)(corePoolSize,maxmumpoolsize,keepalivetime,unit,threadfactories,workqueue,handler)分別為核心線程數(shù)量,最大線程數(shù)量,除核心線程外最大生命周期,生命周期計算單位,線程工廠,等待隊列,拒絕策略。

線程池處理流程:

? ? ? ? 首先判斷核心線程是否已滿,未滿則創(chuàng)建線程執(zhí)行,已滿則判斷等待隊列是否已滿,未滿則創(chuàng)建線程加入等待隊列,已滿則判斷最大線程數(shù)量是否已滿,未滿則創(chuàng)建線程執(zhí)行,已滿則進入拒絕策略。

四種拒絕策略:

abortPolicy:拒絕創(chuàng)建線程并拋出異常,返回提示信息拒絕創(chuàng)建線程

discardpolice:拒絕創(chuàng)建線程同時不拋出異常

discardoldsetpolicy:將進程中的第一個線程替換為當前請求線程執(zhí)行

callerrunspolicy:直接調用excute方法運行線程

四種常見線程池:

可緩存線程池,沒有核心線程,但有非核心線程,且數(shù)量為無限大,適用于耗時少任務量大的進程--cachedthreadpool

周期性線程池,有核心線程池,同時也有非核心線程池,數(shù)量也為無限大,適用于周期性進程--schedulethreadpool

單線程線程池,只有一條線程,適用于順序執(zhí)行的情況--singelthreadpool

定長線程池,只有核心線程,--fixedtreadpool

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容