原创 openJDK 與 Hotspot對應關係

鏈接地址:https://gist.github.com/925323   由於某些原因,我貼在這裏,供自己參考。 Correspondence between Sun/Oracle JDK, OpenJDK and HotSpot VM

原创 email統計分析

    awk -F '@' '{print $2}' 輸入文件 | sort -n|uniq -c|sort -n -r> 結果文件 點贊 收藏 分享 文章舉報 aliveTi

原创 java.security.SecureRandom導致jetty、hadoop啓動受阻問題

  最近解決了一個hadoop啓動卡死問題,記錄一下。 執行start-all.sh 後,發現namenode的http端口無法訪問,hadoop啓動失敗,查看進程發現各個hadoop的java進程都存在。使用jstack查看nameno

原创 btrace sizeOf 與 jmap -histo中對象大小說明

          衆所周知,btrace中可以使用 com.sun.btrace.BTraceUtils.sizeof(Object)來計算傳入的對象的大小;jmap -histo中也可以顯示heap中對象大小信息,到底這兩個顯示的ob

原创 Hotspot JVM manageable 參數列表

  JVM的manageable參數可以通過jmx進行修改(參見這裏 ) 例如: jinfo -flag +HeapDumpAfterFullGC ${java_pid} 開啓HeapDumpAfterFullGC    jinfo -f

原创 Java Btrace中sizeOf問題

    com.sun.btrace.BTraceUtils.sizeof(Object)方法返回的是對象的淺大小,也就是隻是對象本身的大小,不包括對象依賴的傳遞閉包的對象大小 點贊 收藏 分享 文章

原创 JVM 看不到某些異常的stacktrace問題

      今天又有同事問起這個事情,所以寫個blog記錄一下。       在java 1.5的release notes裏面可以看到這樣一句話:      The compiler in the server VM now provi

原创 確定hive shell的java進程的pid的一種方法

使用hive的過程中,經常需要diagnose hive運行到了哪個地方,以便進行優化。jstack是常用的工具,可需要java 的process id。但是多個hive shell運行時jps得出的結果令人失望:   6874 org.

原创 java.lang.NoSuchMethodError問題處理

  一般在項目依賴比較複雜或者java運行的環境有問題時同一類型的jar包有不同版本存在,本質上說是JVM找不到某個類的特定方法,也就是說JVM加載了錯誤版本的類。   出現該問題的情形一般有一下幾種:      1、項目依賴複雜。不使用

原创 常用的http請求抓包工具

firebug httpfox wireshark live http header   點贊 收藏 分享 文章舉報 aliveTime 發佈了71 篇原創文章 · 獲贊 3

原创 JVM GC日誌時間問題

          幾乎所有的資料上說到打印JVM GC log的時候都會推薦一個參數: -XX:+PrintGCTimeStamps, 可該選項打印的是JVM以啓動時間爲基準的相對時間,對於troubleshooting來說非常困難。早

原创 Resin關於最小內存設置

  resin.conf 中有 <min-free-memory>設置,是resin內部有一個thread每隔10秒鐘檢查JVM剩餘內存,如果free memory小於 2*min-free-memory,則執行Runtime.gc()

原创 simple profiler

simple profiler 1、概述    做一個無侵入性的Java性能分析工具,使用的技術有:sun attach api, java instrument api, java bytecode, asm framework 2、使

原创 Java 反射調用的一種優化

      寫一些Java框架的時候,經常需要通過反射get或者set某個bean的field,比較普通的做法是獲取field後調用java.lang.reflect.Field.get(Object),但每次都這樣調用,能否有優化的空間

原创 eclipse調試JDK內部源代碼

eclipse默認是無法調試JDK源代碼的,即使添加了src.zip 作爲source code也不能解析stack上的變量,只能看到類成員變量。 原因很簡單,JDK的源代碼是使用 javac -g:lines 參數進行編譯的,所以代碼裏