原创 windows 10 idea配置plantUML插件

背景:最近在做一些源碼分析,準備使用plantUML進行類分析,源碼執行流程分析。之前在公司電腦的mac上安裝過,現在在windows10上重新配置一遍。 一、步驟 Idea打開,File–>Settings–>Plugins–

原创 Java classLoader那些事兒

1.java類加載的定義&過程 1.定義將類的.class文件中的二進制數據讀入到內存中,將其放在運行時數據區的方法區內,然後在堆區創建一個java.lang.Class對象,用來封裝類在方法區內的數據結構。類的加載的最終產品是

原创 Java classLoader源碼分析(上)

Launcher類的構造函數 public Launcher() { Launcher.ExtClassLoader var1; try { //1.先通過內部類

原创 使用jedis連接redis-cluster進行set數據結構api演示

繼上一篇使用jedis連接redis-cluster進行zset數據結構api演示 之後的第五章節。本章內容講解使用jedis連接redis-cluster進行set數據結構api演示。 package com.coderma

原创 使用jedis連接redis-cluster實現純redis實現的bloom過濾器

上一篇演示了通過jedis的api進行多個發佈訂閱消息的案例,本篇演示使用jedis連接redis-cluster實現純redis實現的bloom過濾器。 package com.coderman.jedis.clusterd

原创 zookeeper的數據結構&操作命令

前面一篇介紹了基於win10 64位系統搭建的zookeeper的僞集羣,由5個節點組成的,因此我們這裏爲了後面的文章介紹一下zookeeper的數據結構以及一些操作運維相關的命令。 1.zookeeper的數據結構描述 Zo

原创 基於zookeeper實現配置中心功能的簡單工程

上一篇文章說到了一些zookeeper的應用場景,本篇將是對這些場景進行代碼模擬實戰的開篇文章。之前已經在本地搭建起了zk集羣,並進行了一些api實踐,因此本章主要講述如何使用zk客戶端模擬一個配置中心,推送變更的場景。 初始

原创 使用zookeeper原生API鏈接ZK集羣進行基本API演示(3)

前面一篇介紹了使用zk原生api鏈接zk集羣進行獲取子節點,獲取數據的同步異步方式,本篇演示剩餘其他api的代碼demo. setDataAPI 代碼演示 package com.coderman.zookeeper.clus

原创 java應用篇近期面試總結

zookeeper系列也接近尾聲了,這裏筆者希望在2月份再發表幾篇文章,筆者從去年12月下半個月開始面試,接觸了很多大廠,被問了很多問題,筆者也在面試過程中對其做了總結和分類。以面試官的口吻對各個知識點進行面對面的交流。有些筆者

原创 zookeeper簡述和我對zookeeper的理解

前面10來篇針對於redis進行了一系列的回顧和學習,接下來需要針對zookeeper做一些理論上的學習和集羣搭建以及代碼操作。 理論書籍有兩本值得深入學習: 從Paxos到Zookeeper 分佈式一致性原理與實踐 zoo

原创 基於zookeeper集羣實現分佈式FIFO隊列的工程實踐

上一篇基於zk集羣實現了分佈式的id生成器,本篇繼續基於zk集羣進行場景實踐,分佈式的FIFO隊列怎麼用zk去做呢?直接上代碼。 一、創建隊列需要用到的bean package com.coderman.zookeeper.c

原创 JVM參數說明&實戰

JVM基礎參數配置簡介 標準選項(cmd下 輸入java 即可打印所有標準選項)X選項也叫非標準選項(cmd下輸入java -X 即可打印所有非標準選項)XX選項(cmd下輸入java -XX: PrintFlagsIniti

原创 使用jedis連接redis-cluster進行zset數據結構api演示

繼上一篇使用jedis連接redis-cluster進行hash數據結構api演示 之後的第四章節。本章內容講解使用jedis連接redis-cluster進行zset數據結構api演示。 package com.coderm

原创 JavaClassLoader源碼分析(中)

ClassLoader的屬性 說明:ClassLoader的屬性與其內部類是穿插着創建的,這裏寫在一起了 private static native void registerNatives(); //將ClassLo

原创 Redis配置項說明

# Redis configuration file example # Note on units: when memory size is needed, it is possible to specify # it in the u