原创 Java加載類(Class)文件過程

其實對於任何編程語言而言,編譯和鏈接都是必不可少的環節,對於java而言編譯這環節比較簡單,就是按照JVM指定的規範生成字節碼文件(Class文件),因爲字節碼是JVM能認識的,並且會把這些字節碼翻譯成本地機器的機器指令。至於鏈接這塊,J

原创 Java與C++差異總結(1)

最近的工作是把幾份C++代碼翻譯成java,不搞不知道,一搞嚇一跳,真的很麻煩,C++和java的語法和其他細節差異太大了。下面就把遇到的一些差異整理總結一下: 1.      一維數組的定義: C++:分爲靜態數組和動態數組,其中靜態數

原创 JNI轉換通俗易懂的總結(Java調用C++篇)

相對C++調用java而言,使用JNI實現Java調用C++相對比較簡單點,因爲不用自己啓動和管理一個JVM。 最簡單的流程: 1.      編寫一份簡單的HelloWorld.java class HelloWorld { publi

原创 jedis API接口批量處理包裝(事務,管道,分佈式鎖,lua腳本,發佈訂閱)

import java.util.List; import java.util.Map; import java.util.Set; import

原创 Kafka消息隊列原理總結

最近在測試kafka的讀寫性能,所以借這個機會了解了kafka的一些設計原理,既然作爲分佈式系統,我們還是按照分佈式的套路進行分析。   Kafka的邏輯數據模型: 生產者發送數據給服務端時,構造的是ProducerRecord<Inte

原创 通過字節碼扒一扒java編譯器瞞着我們做了什麼(1)

 1.       Foreach和泛型語法糖 Map<String,String> map = newHashMap<String,String>(); for(Entry<String, String> iter:test.map.e

原创 Kafka服務端異步刷盤性能測試

前置條件: 每條話單大概0.7K 寫客戶端單線程 props.put("acks","all"); props.put("retries", 0); props.put("batch.size", 16384); props.put("l

原创 通過字節碼深入分析java的枚舉類型enum

 1.      Java中的枚舉究竟是什麼鬼? 如果從C++轉java的話,會發現一個現象那就是在java中的枚舉跟C++區別非常大,甚至可以說除了名字一樣外,其他實現等都是非常不同的,在C++枚舉更像個常數,而java的枚舉更靠近正常

原创 kafka消息隊列運維工具和相關安裝目錄文件總結

kafka自帶維護腳本工具總結: topic管理腳本:kafka-topics.sh(包括topic的創建,修改,刪除,查詢) 創建topic: sh kafka-topics.sh –zookeeper localip:2181 –cr

原创 Java基本類型的一些總結

Java基本類型的長度以及和C++的對比 Java(字節數)                               C++(字節數) Byte         1                                   

原创 從字節碼角度分析接口中的成員域

在java中接口是可以有成員變量的,比如下面源碼: public interfaceTestInterface {     int a = 999;     Stringstr= "hello world"; }   字節碼:  Las

原创 從字節碼角度分析泛型類,泛型方法,泛型接口的實現機制(類型擦除)

在java中泛型本質上是個語法糖,跟C++不一樣,java根本不會創建泛型類,一切都只不過是編譯器通過類型擦除機制實現的障眼法而已,比如 源碼: public classChildTest<T> extends test {     T

原创 java中File類常用API總結

public class FileTest { /**  *  * @author : zhengrf1 * @date 創建時間:2017年3月15日 下午5:01:09  */ public static void main(Stri

原创 Java鎖性能提高(鎖升級)機制總結

鎖的使用很難避免,如何儘量提高鎖的性能就顯得比較重要了 鎖偏向 所謂的偏向鎖是指在對象實例的Mark Word(說白了就是對象內存中的開頭幾個字節保留的信息,如果把一個對象序列化後明顯可以看見開頭的這些信息),爲了在線程競爭不激烈的情況下

原创 ReenTrantLock可重入鎖(和synchronized的區別)總結

ReenTrantLock可重入鎖(和synchronized的區別)總結 可重入性: 從名字上理解,ReenTrantLock的字面意思就是再進入的鎖,其實synchronized關鍵字所使用的鎖也是可重入的,兩者關於這個的區別不大。兩