原创 sonar掃描非mavne項目 普通的java項目

環境 jdk.18 sonarqube 6.7   將sonar-scanner-cli-3.0.3.778-windows解壓到目錄 配置環境變量的系統變量Path配置上面解壓目錄到bin目錄 cmd 檢查 sonar-scanner

原创 ReentrantReadWriteLock 讀寫鎖

/** * 讀寫鎖ReentrantReadWriteLock * 讀寫分離可以有效地減少鎖的競爭 * 在ReentrantLock中如果給讀線程加鎖,那麼寫線程就需要等待 * 給寫線程加鎖,那麼讀線程就得等待 * 這顯

原创 Semaphore 允許多個線程同時訪問

/** * * @author beiyaoyao */ public class SemaphoreDemo implements Runnable { //設置有幾個線程可以進入執行的代碼段 final

原创 CountDownLatch 計數器門閂

我只能說中華文化博大精深,最開始的時候還是不認識閂字的,百度了一下, 閂[shuān]。 從型上分析,就是門上插把棍子,鎖住什麼東西。 CountDownLatch 就是把線程關起來,不許出來,得先幹完活。 CountDown

原创 Condition

** * Condition 條件 * 利用Condition對象,可以讓線程再合適的地方時間等待,活在某一個條件下得到通知,繼續執行。 * @author beiyaoyao * */ public class Ree

原创 org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe

org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe at org.apache.catalina.con

原创 ReentrantLock 重入鎖

/** * ReentrantLock 重入鎖 * Re-Entrant-lock * 對於某一個線程可以反覆給該線程加鎖 * 但是記得釋放鎖,要不會產生死鎖 * @author beiyaoyao * */ pu

原创 java的線程生命週期

定義了一個枚舉類型,Thread.State,主要是來闡述一個線程在生命週期的各個階段的狀態。 NEW:線程被實例化,但並未.start(); RUNNABLE:線程正在運行; BLOCKED:線程中止運行,因爲在等待獲得一

原创 java內存泄漏易發場景

內存泄露是指無用對象(不再使用的對象)持續佔有內存 無用對象的內存得不到及時釋放 容易發生內存泄漏的場景 1. 靜態集合類引起內存泄露,像HashMap這些靜態變量的生命週期和應用程序一致,他們所引用的所有的對象Objec

原创 CSDN驗證不了手機

一入日企苦深似海,沒有網,回家總在10點後,木有時間寫博客,還好現在進入放羊狀態。 今天說把平時總結道word裏的東西寫到博客上,突然返現CSDN要驗證手機。驗證手機也無所謂了,但是輸入手機號以後一直提示我手機未驗證,也沒有出來發

原创 HotSpot 是啥?

顧名思義,熱點熱地區之類意思吧。 Hotspot ,爲java1.3開發的jvm ,現在仍在使用中。JVM首先識別程序中那一部分被調用的最頻繁,,這一部分也叫“熱點方法”,然後跳過JVM解釋器,直接把這一部分編譯成機器碼。 在

原创 空接口是什麼?

經常看到某個類實現了XXX接口 比如 public class School implements Serializable { } 接口源代碼 //上面巴拉巴拉一大堆註釋 //宗旨就是說 java.io.Serializabl

原创 緩存穿透及解決方案

一般我們在做一個對象緩存的時候會經歷以下步驟 redis爲例 1.客戶端傳入唯一鍵 2.進redis查 如果有直接返回 3.如果有的話,查數據庫並放入緩存 假如現在我們收到一個空值或者-1的唯一鍵,空很好處理,但是-1是一個泛型,相當於傳

原创 關於靜態編譯引發的問題NoSuchException

發生的環境 jdk7 tomcat7 問題描述。 1.改了一個實體類A中某一個成員變量的類型,以及受影響的引用的修改。 2.但是其中一個B類引用了實體類A,但是情況特殊,並沒有受到影響報錯,就沒有修改該類。 3.因爲遲遲不能上線,現在要對

原创 sonar登陸後顯示項目不正常(現象少項目)

成因 sonar曾經連接過兩個數據庫,導致項目啓動時候會生成兩份es索引文件,會影響到sonar的正常顯示 解決 停掉項目 D:\811\sonarqube-6.7.7\data\es5\nodes\0 刪除該目錄下的所有文件 重啓項目