原创 NoSQL的常見模式

目錄 1、簡介 2、鍵值對存儲模式 2.1 簡介 2.2 特點 2.3 實例 3、文檔式存儲模式 3.1 簡介 3.2 特點 3.3 實例 4、列式存儲模式 4.1 簡介 4.2 特點 4.3 實例 5、圖存儲模式 5.1 簡介 5.2

原创 最長迴文子串(Java版本)

目錄 1、題目 2、示例 3、解決方案 3.0 暴力破解 3.1 動態規劃 3.2 中心擴展算法 3.3 Manacher 算法 4.參考 1、題目 給定一個字符串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度爲 1000。

原创 Bridge Pattern(橋樑模式)

目錄 1、定義 2、類圖 3、實現 3.1 實現化角色 Implementor 3.2 具體實現化角色 ConcreteImplementor 3.3 抽象化角色 Abstraction 3.4 修正抽象化角色 RefinedAbstra

原创 @Transactional 實現原理

目錄 1、簡介 2、自定義註解 2.1 定義 2.2 測試 2.3 總結 3、手寫事務註解 3.1 maven依賴 3.2 配置spring.xml文件 3.3 自定義事務註解 (通過反射解析方法上的註解,如果有這個註解就執行事務邏輯)

原创 檢查java線程死鎖的幾種方法

目錄:Java線程死鎖檢測 1、使用jconsole 1.1 是什麼? 1.2 怎麼用?(win環境爲例) 2、使用jstack 2.1 是什麼? 2.2 怎麼用? 3、使用jvisualvm 3.1 是什麼? 3.2 怎麼用? 死鎖例子

原创 Integer中的 valueOf 和 parseInt

1、場景 當需要將 String 類型的字符數字轉換爲 int 類型時,我們可能會用到 Integer.valueOf() 或者 Integer.parseInt() ,這兩個函數都可以將字符數字轉換成整型。 2、源碼 對 Integer

原创 在Ubuntu18.04編譯OpenJDK12

目錄 1、所需軟件 1.1 OpenJDK12 1.2 Ubuntu 18.04 LTS 1.3 Workstation 14 Pro(14.1.0 build-7370693) 2、構建編譯環境 2.1 構建編譯環境GCC 2.2 Op

原创 測試:OutOfMemoryError異常

目錄 1、目的 2、實踐(jdk8) 2.1 Java堆溢出 2.2 虛擬機棧和本地方法棧溢出 2.3 方法區和運行時常量池溢出 2.4 本機直接內存溢出 參考 1、目的 通過代碼驗證《Java虛擬機規範》中描述的各個運行時區域存儲的內容

原创 類加載及初始化順序例題

目錄 1、JAVA的類加載期負責整個生命週期內的class的初始化和加載工作,就虛擬機的規範來說,以下代碼會輸出什麼結果? 2、JAVA的類加載期負責整個生命週期內的class的初始化和加載工作,就虛擬機的規範來說,以下代碼會輸出什麼結果

原创 編譯原理(一、編譯器簡介)

目錄 一、編譯器概述 1.1、什麼是編譯器? 1.2、編譯器的核心功能 1.3、編譯器和解釋器 1.4、編譯器簡史 1.5、爲什麼要學習編譯原理? 1.6、如何學好編譯原理? 二、編譯器結構 2.1、編譯器的高層結構 2.2、一種沒有優化

原创 使用IDEA調試RocketMQ

目錄 一、IDEA獲取RocketMQ源碼 二、IDEA調試RocketMQ源碼 1、啓動NameServer 2、啓動Broker 3、使用RocketMQ提供的實例驗證消息發送與消息消費 三、RocketMQ核心目錄說明 四、參考 一

原创 使用CLion調試OpenJDK12源碼

目錄 1、調試環境 2、安裝CLion 3、源碼調試 參考 1、調試環境 Workstation 14 Pro Ubuntu18.04 LTS OpenJDK12(編譯自己的OpenJDK12) CLion(我下載的是CLion-2019

原创 Java常用的四種線程池

目錄 1、簡介 2、newCachedThreadPool 2.1 示例 2.2 詳解 2.3 CachedThreadPool 的 execute() 執行過程 3、newFixedThreadPool 3.1 示例 3.2 詳解 3.

原创 從反編譯角度看 i++ 和 ++i

目錄 1、測試代碼 2、執行 3、解釋 1、測試代碼 public class App { public static void main(String[] args) { int i = 0;

原创 WARN: Establishing SSL connection without server's identity verification is not recommended.

目錄 MySQL連接警告   1、警告:  2、翻譯: 3、解決: 1、警告:  Wed Aug 14 19:10:06 CST 2019 WARN: Establishing SSL connection without serve