jdk not so hidden treasures
TRANSCRIPT
![Page 1: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/1.jpg)
JDK not so hidden treasures
![Page 3: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/3.jpg)
about:me
![Page 4: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/4.jpg)
dev going deeper
![Page 5: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/5.jpg)
![Page 6: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/6.jpg)
java
![Page 7: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/7.jpg)
If Java had true garbage collection, most programs would delete themselves upon execution
Robert Sewell
![Page 8: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/8.jpg)
tl;dr: log gc at least
![Page 9: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/9.jpg)
every known problem becomes completely new
when you add “in Java”
stolen from: @mryapee
![Page 10: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/10.jpg)
javac
![Page 11: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/11.jpg)
![Page 12: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/12.jpg)
javap
![Page 13: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/13.jpg)
![Page 14: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/14.jpg)
when things go…
![Page 15: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/15.jpg)
does it run?
![Page 16: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/16.jpg)
top // htop
![Page 17: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/17.jpg)
![Page 18: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/18.jpg)
jpsinstead of ps
![Page 19: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/19.jpg)
jar
![Page 20: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/20.jpg)
jmapinstead of pmap
![Page 21: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/21.jpg)
and jhat
![Page 22: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/22.jpg)
stacktraces :)
![Page 23: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/23.jpg)
kill -3 <pid>
![Page 24: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/24.jpg)
caveat ;-)
![Page 25: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/25.jpg)
jstack
![Page 26: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/26.jpg)
quiz time
![Page 27: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/27.jpg)
caveatsonly at safepoints, one thread at a time
![Page 28: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/28.jpg)
jstat
![Page 29: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/29.jpg)
custom optionshttp://hg.openjdk.java.net/jdk9/jdk9/jdk/file/d49e247dade6/src/jdk.jcmd/share/
classes/sun/tools/jstat/resources/jstat_options
![Page 30: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/30.jpg)
jstatd
![Page 31: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/31.jpg)
from http://www.slideshare.net/stalar/diagnosing-your-application-on-the-jvm
![Page 32: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/32.jpg)
jcmd
![Page 33: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/33.jpg)
jmxsh
jmxtermhttp://wiki.cyclopsgroup.org/jmxterm
http://code.google.com/p/jmxsh/
and more
![Page 34: JDK not so hidden treasures](https://reader034.vdocuments.us/reader034/viewer/2022042701/55bb0ab6bb61eb6e288b45e9/html5/thumbnails/34.jpg)
jvisualvm