原创 Java多線程併發編程學習筆記【基礎知識1】

該系列博文大多爲閱讀《java併發編程之美 翟陸續、薛賓田著 》的筆記 一、線程狀態 線程總共有五種狀態:新建(newThread)、就緒(runnable)、運行(running)、死亡(dead)、阻塞(blocked)。 0、線程狀

原创 Java設計模式(6)-- 七大原則之【迪米特法則】

6)迪米特法則(Law of Demeter) 該法則也就是“不和陌生人說話法則”,一個對象應當對其他對象儘可能少的瞭解。這個法則見仁見智,因爲過於遵守這個法則會導致代碼臃腫。我對於這個法則理解是減少不必要的依賴。 爲此可以這樣做 1、不

原创 Java設計模式(3)-- 七大原則之【依賴倒置原則】

3)依賴倒置原則(Dependence Inversion Principle) 定義: 1、High-level modules should not depend on low-level modules. Both should d

原创 Java多線程併發編程學習筆記【ThreadPoolExecutor筆記】

ThreadPoolExecutor運行狀態有五種: RUNNING: 接受新的任務,並處理隊列任務。(Accept new tasks and process queued tasks ) SHUTDOWN: 不接受新的任務,但是會處理

原创 Java設計模式(5)-- 七大原則之【開放封閉原則】

5)開放封閉原則(Open-Closed Principle) 定義: “software entities (classes, modules, functions, etc.) should be open for extension

原创 Java設計模式(7)-- 七大原則之【合成複用原則】

7)合成複用原則(額外加上的) 定義:軟件複用時,要儘量先使用組合或者聚合等關聯關係來實現,其次才考慮使用繼承關係來實現。 詳見:https://blog.csdn.net/u012361379/article/details/88605

原创 Java多線程併發編程學習筆記【併發包中隊列筆記】

JUC包下主要隊列類關係圖如下(基於JAVA1.8) 主要有DelayQueue、PriorityBlockingQueue、ArrayBlockingQueue、LinkedBlockingQueue、ConcurrentLinked

原创 Mysql學習筆記【查詢性能優化部分】【SQL優化】

查詢性能最基本原因是訪問的數據太多了,對於低效的查詢,通過下面步驟來分析總是很有效的: 1、確認應用程序是否存在檢索大量超過需要的數據。這通常意味着訪問了太多的行,或者是太多的列; 2、確認Mysql服務器是否存在分析大量超過需要的數據行

原创 Java多線程併發編程學習筆記【併發包中的鎖原理】

阻塞的實現好像都是用for(;;)循環獲取 其他筆記: AQS是雙向鏈表結構 synchronized1.6之前,無論有沒有競爭(線程交替執行,沒有競爭)都會進行操作系統操作進行內核切換,是重量級鎖,1.8之後是輕量鎖,假如沒有競爭只是在

原创 spring-boot無法使用application.properties或者yml配置

1、確認pom.xml已配置 <build> <!--使application.properties生效--> <resources> <resource>

原创 Java設計模式(1)-- 七大原則之【單一職責原則】

這系列博文將先講述七大設計模式的原則,再詳述23種java設計模式。 博文皆是東拼西湊而成,若有錯誤,還望指出。 一、設計模式的目的 在代碼編寫的過程中,面臨着代碼耦合、內聚等問題,同時優質代碼應該有很好的拓展性、複用性、可靠性、可讀性(

原创 Java集合學習筆記

集合類重複元素、有序、已排序、線程安全、key是否可以爲空、value是否可以爲空、父類對比 Java集合總結對比 所屬集合接口  實現類 允許重複 是否有序 是否已排序 線程安全 允許空key 允許空value List ArrayLi

原创 Mysql學習筆記【基礎知識】

1、MySQL 的字符集(CHARACTER)和校對規則(COLLATION)兩個不同的概念:字符集是用來定義 MySQL 存儲字符串的方式,校對規則定義了比較字符串的方式,解決排序和字符分組的問題。 2、DATETIME 類型可用來設置

原创 Java多線程併發編程學習筆記【同步器筆記】

在日常開發中經常會遇到需要在主線程中開啓多個線程去並行執行任務,並且主線程需要等待所有子線程執行完畢後再進行彙總的場景。CountDownLatch、CyclicBarrier均是爲應對上面場景的類。此外還有Semaphore也可以起到阻

原创 Spring源碼學習筆記

spring bean實例化簡圖  更改allowcircularReference爲false可以關閉循環依賴,方式有三種。 1、更改spring源碼 2、不要使用帶參構造函數 改爲 3、拓展spring(具體不知道怎麼做,應該是