原创 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