Skip to content
William Zhang edited this page Jan 16, 2017 · 11 revisions

JDK

How to print the JVM settings?

$ java -XshowSettings:properties -version

hprof

http://docs.oracle.com/javase/7/docs/technotes/samples/hprof.html

jstack

http://flysnowxf.iteye.com/blog/1162691

  1. top or ps -ef to find the pid
  2. top -p <pid>, then shift+h to show threads, and find the interesting tid
  3. jstack <pid> | grep -A 10 <tid>

jstat, jmap, jhat, jdb, jps, jinfo etc.

http://ju.outofmemory.cn/entry/147496

http://www.cnblogs.com/yyyt/p/4307828.html

http://docs.oracle.com/javase/6/docs/technotes/tools/share/jstat.html

Memory usage

$ jmap -histo:live 20627

jhat: http://petermodzelewski.blogspot.com/2013/06/short-jhat-tutorial-diagnosing.html

Memory usage and GC times/timestamp. Where 1000 means 1ms, 5 means 5 times.

$ jstat -gcutil 20627 1000 5

Eclipse

Disable code formattor

//
// @formatter:off
// Comments
// @formatter:on
//

Enable assertion

Windows -> Preferences -> Java -> Installed JREs -> Edit -> Default VM arguments:

-ea
-XX:+CreateMinidumpOnCrash

WinDBG (hide it here):

srv*D:\SymbolCache*https://msdl.microsoft.com/download/symbols

Java language

How to print the backtrace?

for (StackTraceElement ste : Thread.currentThread().getStackTrace()) {
    System.out.println(ste);
}

Why use `b & 0xFF` in bitwise operators?

Bitwise operators in Java is not the same as that in C/C++. Read this great article for details.

Also see long & 0xFFFFFFFF vs. long & 0xFFFFFFFFL.

log4j

  1. 1.x to 1.2 migrate link.
  2. 1.2 sample with Maven link.

jmap

http://stackoverflow.com/questions/5085889/l-array-notation-where-does-it-come-from/12505922#12505922

[Z = boolean [B = byte [S = short [I = int [J = long [F = float [D = double [C = char [L = any non-primitives(Object)

To get the main data-type, you need: [Object].getClass().getComponentType(); It will return null if the “object” is not an array. to determine if it is an array, just call: [Any Object].getClass().isArray() or Class.class.isArray();

Clone this wiki locally