原创 《Java 底層原理》Java 字節碼詳解

前言 我們在開發中會遇到一些Java的執行超出我們的想象,但是又不知道他爲什麼會這樣執行,這個時候我們就需要能夠知道他編譯後Class文件是什麼樣子的,並且理解字節碼的含義。 Java字節碼的原理 進制 class文件就是字節碼文件,直接是

原创 《Java 底層原理》HSDB工具的使用說明

前言 Java對象信息對開發者來說並不是透明的,需要藉助工具來更好查詢對象的運行情況,這裏我們帶來HSDB工具。 演示 打開工具過程 1. 工具是JDK自帶的:目錄:jdk1.8.0_191\lib\sa-jdi.jar。 2. 使用cmd

原创 《Java 底層原理》Jvm 類的加載原理

前言 一直想好好的瞭解一下JVM,這次就來一起了解一下JVM是如何實現類的加載過程的。 原理 類加載的生命週期 1. 加載 5種類加載情況: 在遇到 new、putstatic、getstatic、invokestatic 字節碼指令時

原创 《Java 底層原理》Java 類加載器

前言 工作中需要實現一種功能:動態加載類對象信息,簡單說就是class變了Jvm能夠立馬知道並且加載到內存。 類加載器分類 Java類加載器分爲兩種,一種是加載啓動類,另一種是其他類加載器。Java加載類的關係:Launcher 1. 啓動

原创 《Java 底層原理》Java虛擬機字節碼手冊

一、JVM 指令分類 (1)操作數棧 過程符號 變量到操作數棧 iload, iload_, lload, lload_, fload, fload_, dload, dload_, aload, aload_      操作

原创 《Java知識應用》Jar包解析

前言 工作上遇到需要解析Jar包的情況,需要將Jar包裏面的類文件獲取出來,然後動態調用。 案例 import java.io.File; import java.lang.annotation.Annotation; import ja

原创 《Java知識應用》Java 動態生成對象實例

前言 工作中經常需要動態生成Java對象進行操作。 下載 百度雲鏈接: https://pan.baidu.com/s/1vqJvIg6zBWppNrB68OdfAw 提取碼: t6qk 案例 public class CompilerD

原创 《Java 底層原理》Java 對象頭信息查看JOL工具

前言 爲了方便我們查看Java 創建對象的情況,就出現對象診斷器 下載 百度網盤:鏈接: https://pan.baidu.com/s/1dGBwht7_iWyBALfRtbGM_A 提取碼: ft9p   下載需要的Jar包 演示 p

原创 《Zookeeper中間件》Zookeeper命令詳解

前言 使用Zookeeper之前,先了解一下Zookeeper是啥?有什麼作用? 原理 Zookeeper本身是一種存儲數據的樹結構,結構和文件系統非常相似,區別是Zookeeper的節點都可以存值。 通過Zookeeper命令演示一下這

原创 《Zookeeper中間件》Zookeeper整合SpringBoot

前言 前面我們zookeeper也安裝了,操作命令也學習了,現在來使用SpringBoot整合一下zookeeper。 整合 第一步設置配置文件(application.properties): zookeeper.address=127

原创 《Zookeeper中間件》Zookeeper的應用場景

前言 Zookeeper到底能爲我們的程序解決一些什麼問題呢? 應用場景 1. 分佈式配置中心   1.1通過Zookeeper的watch監聽來實現各個集羣節點的配置修改,不用再一臺臺服務器單獨進行修改。 1.2使用zookeeper的持

原创 《Zookeeper中間件》Zookeeper源碼環境搭建

前言 爲了更好的學習Zookeeper分佈式配置中心,我們需要查看源碼來研究他的實現邏輯。 搭建 第一步源碼包下載 百度雲鏈接:https://pan.baidu.com/s/19QOolORemxzzGntjIcFgqQ     提取碼:

原创 《Java 底層原理》Java查看JIT彙編指令

前言 隨着底層原理的研究深入,需要查詢JVM的代碼生成的彙編指令的執行邏輯。 操作 window10 需要下載:hsdis-amd64.dll   鏈接: https://pan.baidu.com/s/1Okt3KrByjlstqdEig

原创 《Java基礎知識》Java 阻塞隊列

前言 學習RabbitMQ的時候瞭解到了阻塞隊列(ArrayBlockingQueue,LinkedBlockingDeque,SynchronousQueue),那就一起來了解一下這些阻塞隊列。 說明 阻塞隊列提供了四種處理方法: 通過

原创 《Zookeeper中間件》Zookeeper安裝(linux)

前言 Zookeeper是一個開源的分佈式協調服務,Zookeeper的設計目標是將那些複雜且容易出錯的分佈式一致性封裝起來,構成一個高效可靠的原語集,並以一系列簡單易用的接口提供給用戶使用。Zookeeper作爲分佈式架構的重要的一環,我