原创 eclipse代碼中有錯誤,項目中卻不顯示紅叉

解決辦法 https://blog.csdn.net/wangming520liwei/article/details/53115228

原创 解決java.lang.IllegalArgumentException: Could not resolve placeholder xx.xx.addr 的問題,思路:一定是配置文件問題

今天啓動SpringBoot遇到一個問題,提示 java.lang.IllegalArgumentException: Could not resolve placeholder 'xx.xx.addr' in value "${xx.

原创 Java併發之“只有當你的程序需要在獨佔訪問中加鎖時,ConcurrentHashMap才無法勝任”理解

Java併發5.2.1中有一句無法理解 ** 只有當你的程序需要在獨佔訪問中加鎖時,ConcurrentHashMap才無法勝任 ** 需要理解鎖的分類 獨佔鎖 分離鎖 作者想表達的就是,即使客戶端加鎖,ConcurrentH

原创 Java線程阻塞的代價

Java的線程是映射到操作系統原生線程之上的,如果要阻塞或喚醒一個線程就需要操作系統介入,需要在用戶態和核心態之間切換,這種切換會消耗大量的系統資源,因爲用戶態與內存態都有各自專用的內存空間,專用的寄存器等,用戶態切換至內核態需要

原创 Java鎖的分類

Java鎖分爲: 1.樂觀鎖/悲觀鎖 2.獨享鎖/共享鎖 3.互斥鎖/讀寫鎖 4.可重入鎖 5.公平鎖/非公平鎖 6.分段鎖 7.偏向鎖/輕量級鎖/重量級鎖 8.自旋鎖 1.樂觀鎖/悲觀鎖 所謂的樂觀鎖和悲觀鎖並不是指什麼具體的鎖

原创 CountDownLatch的學習

閉鎖,一個大門,滿足一定的條件後開門(8點了開學校大門)。 /** * 閉鎖 */ public class TestHarness {//創建一些線程,併發的執行給定的任務 //每一個工作線程要做的第一件事是等待開

原创 爲計算結果簡歷高效、可伸縮的高速緩存

原文鏈接:https://blog.csdn.net/u010675729/article/details/99938299 高速緩存:複用已有的計算結果,目的縮短等待時間,提高吞吐量。

原创 Collections.copy(src, dest)的坑

private List<Audience> clone(List<Audience> objList) { List<Audience> list = new ArrayList<>(); Collections.co

原创 this引用逸出

this引用逸出:某個對象在初始化的時候發佈自己這個對象。即,當前對象在初始化完成之前,給其它線程提供了引用。若其它線程先跑,則可能報錯。 下面是《java併發編程實踐》給出的實例: public class ThisEscape

原创 傳遞性與不具傳遞性

傳遞性: 數學和邏輯學上定義: 若 ,其中 爲某種關係運算符。 則: 表述: 若x,y,z∈R,x關係到y,y關係到z,則x關係到z.稱爲具有傳遞性。 e.g.: 若a,b,c∈R,且a=b,b=c,則a=c,就稱爲有傳

原创 iBaits中#和$的區別

區別: # 會進行預編譯和類型匹配 $ 進行字符拼接 有如下SQL: select name from student where id=1; 用#進行處理 select name from student where id=#{0}

原创 STS新建Spring Starter Project的坑

在用STS新建一個Spring Boot的項目的時候會出現下面這種樣子 對,你沒看錯,沒有jar包,不能寫Java文件。 怎麼辦? 選中項目右鍵->maven->update project,勾選Force Update of Sn

原创 使用jasypt對springboot的datasource密碼等敏感信息加密-安全

1.pom.xml需要添加依賴 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-start

原创 Maven配置

1.下載 http://maven.apache.org/download.cgi 2.下載後解壓到一個目錄,如D:\maven 3.配置環境變量 4.配置 D:\maven\apache-maven-3.3.9\bin 5.ove

原创 Spring註解志@Profile和@ActiveProfiles

@Profile 註解: 1.使用@Profile的原因 在平時的開發中,通常開發一個開發庫,測試一個測試庫,生產一個生產庫。 我們將數據庫信息寫在一個配置文件中,在部署的時候我們將配置文件改成對應的配置文件,這樣改來改去非常麻煩。