原创 jdk源碼分析之ConcurrentHashMap分析
ConcurrentHashMap 是java提供的一個線程安全的鍵值對集合,其採用分段鎖的模式提高了其併發度。 public class ConcurrentHashMap<K,V> extends AbstractMap<K,V>
原创 java 錯題集之java基礎測試
以下錯題來源於阿里雲java基礎測試。 單選 3.下面哪個不是Java內建的Annotation? A. @Override B. @Deprecated C. @SuppressWarning D. @FunctionalIn
原创 JDK 源碼分析之ReentrantLock
ReentrantLock 可重入鎖,實現Lock 接口。使用同步器實現加鎖解鎖,鎖等待。 加鎖過程如下: 代碼解析: public class ReentrantLock implements Lock, java.io.Serial
原创 idea 遠程調試
在idea 裏添加配置:host 填寫你的遠程主機Ip,端口號爲遠程監聽端口號,不要和遠程主機的已使用端口重複。 然後打開遠程主機,在其tomcat 的catalina.sh 裏添加 CATALINA_OPTS=
原创 vue 裏的屬性動態綁定
需求描述:根據後臺返回數據動態構建table,每個table都是單選,互不干擾。 實現方式概述:爲每個單選框屬性根據數組動態綁定屬性。 <div v-for="(item,i) in sheet"> <div style="margi
原创 使用mapstruct 進行不同類的實體轉換
在pom文件添加 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <org.m
原创 mysql 裏的datetime 和timestamp
mysql 版本5.7.10 希望時間精確保存到毫秒級? 改動方案:長度改爲3,這裏的長度代表精確到毫秒的位數。 設定默認值:CURRENT_TIMESTAMP(3) 位數與設置長度一致。 更改後效果: 兩者都可
原创 線程的安全級別
java 線程的定義:操作系統上擁有自己工作內存,共享同一個進程資源的CPU執行的基本單位。一個線程擁有自己的內存,執行一系列的指令去完成相應的操作,一個進程擁有多個線程。 線程的出現最大程度上利用cpu的計算能力,使得進程的資源分配和
原创 記一次索引過長的問題
問題描述:使用esjob 的數據庫自動記錄job運行情況,表和記錄都有esJob 自動創建和插入數據。在測試和本地環境均沒有問題:生產爆出如下異常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntax
原创 tomcat 是如何處理一個請求的呢
一、Tomcat的整體架構 一個Tomcat只有一個server,server服務器有多個service。 service 由多個connector 和一個container 組成。 connector 是請求接收器,負責接收請求和
原创 tomcat指定啓動時的jdk版本
windows 1、本文環境是Tomcat8.5,jdk1.8 2、找到bin下的setclasspath.bat文件;添加如下代碼 set "JAVA_HOME=D:\Java\jdk1.8.0_92" set "JRE_HOME=D
原创 tomcat 一閃而過調試
啓動一閃而過,導致看不到具體錯誤。 在startup.bat 最後添加PAUSE。 如果沒有作用就去查看log 日誌,這時一般會有日誌輸出。
原创 緩存穿透 緩存雪崩 熱點數據集中失效解決方案
緩存在應用系統以及廣泛使用,那麼關於緩存使用帶來的問題如何解決呢? 緩存穿透:當一個查詢沒有命中緩存,而去查詢數據庫時就是緩存穿透。當查詢一個數據庫不存在的數據時,就會頻繁的造成緩存穿透,給數據庫帶來壓力和無謂的性能消耗。黑客的攻擊就可能
原创 一條sql語句的執行過程
一條sql 語句是如何在數據庫裏執行的呢? 查詢緩存,分析器,優化器,執行器,返回結果。 查詢緩存:是指一條sql到來時先去緩存裏查看該sql是否已經查詢過,map形式存儲該語句和其執行結果,key由sql語句和版本等組成,value是執
原创 vue 導出excel表格實踐
本文參考https://github.com/daoyuly/export2excel-demo vue導出Excel,依賴於如下兩個插件 cnpm install --save xlsx file-saver cnpm insta