E:\itstack\git\github.com\interview>jps -m 111552 Main --branding visualvm --cachedir C:\Users\xiaofuge\AppData\Local\VisualVM\Cache/8u131 --openid 3041391569375200 26852 96276 Launcher C:/Program Files/JetBrains/IntelliJ IDEA 2019.3.1/plugins/java/lib/javac2.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2019.3.1/plugins/java/lib/aether-api-1.1.0.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2019.3.1/lib/jna-platform.jar;C:/Program Fi les/JetBrains/IntelliJ IDEA 2019.3.1/lib/guava-27.1-jre.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2019.3.1/lib/httpclient-4.5.10.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2019.3.1/lib/forms-1.1-preview.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2019.3.1/plu gins/java/lib/aether-connector-basic-1.1.0.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2019.3.1/plugins/java/lib/maven-model-builder-3.3.9.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2019.3.1/lib/jps-model.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2019.3.1/plu gins/java/lib/maven-model-3.3.9.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2019.3.1/plugins/java/lib/aether-impl-1.1.0.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2019.3.1/lib/gson-2.8.5.jar;C:/Program File 59000 16844 Jps -m 8460 Main --branding visualvm --cachedir C:\Users\xiaofuge\AppData\Local\VisualVM\Cache/8u131 --openid 3041414336579200 76188 Jstatd
E:\itstack\git\github.com\interview>jcmd 111552 Thread.print 111552: 2021-01-1023:31:13 Full thread dump Java HotSpot(TM) 64-Bit Server VM(25.161-b12 mixed mode):
"Computes values in handlers" #52 daemon prio=5 os_prio=0 tid=0x0000000019839000 nid=0x16014 waiting for monitor entry [0x0000000026bce000] java.lang.Thread.State: BLOCKED (on object monitor) at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:76) - waiting to lock <0x00000000f095bcf8> (a com.sun.tools.visualvm.jvmstat.application.JvmstatApplication) at com.sun.tools.visualvm.application.jvm.JvmFactory.getJVMFor(JvmFactory.java:45) at com.sun.tools.visualvm.application.options.Open.openApplication(Open.java:108) at com.sun.tools.visualvm.application.options.Open.process(Open.java:93) at org.netbeans.spi.sendopts.Option$1.process(Option.java:348) at org.netbeans.api.sendopts.CommandLine.process(CommandLine.java:278) at org.netbeans.modules.sendopts.HandlerImpl.execute(HandlerImpl.java:23) at org.netbeans.modules.sendopts.Handler.cli(Handler.java:30) at org.netbeans.CLIHandler.notifyHandlers(CLIHandler.java:195) at org.netbeans.core.startup.CLICoreBridge.cli(CLICoreBridge.java:43) at org.netbeans.CLIHandler.notifyHandlers(CLIHandler.java:195) at org.netbeans.CLIHandler$Server$1ComputingAndNotifying.run(CLIHandler.java:1176)
Options: (options must be specified using the <key> or <key>=<value> syntax) name : [optional] Recording name,.e.g \"My Recording\" (STRING, no default value) recording : [optional] Recording number, see JFR.check for a list of available recordings (JLONG, -1) discard : [optional] Skip writing data to previously specified file (if any) (BOOLEAN, false) filename : [optional] Copy recording data to file, e.g. \"C:\Users\user\My Recording.jfr\" (STRING, no default value) compress : [optional] GZip-compress "filename" destination (BOOLEAN, false)
3. jinfo Java配置信息工具
jinfo(Configuration Info for Java),实时查看和调整JVM的各项参数。
E:\itstack\git\github.com\interview>jmap 111552 Attaching to process ID 111552, please wait... Debugger attached successfully. Server compiler detected. JVM version is 25.161-b12 0x000000005b4a00001632K C:\Program Files\Java\jdk1.8.0_161\jre\bin\awt.dll 0x000000005b8c0000264K C:\Program Files\Java\jdk1.8.0_161\jre\bin\t2k.dll 0x000000005b910000284K C:\Program Files\Java\jdk1.8.0_161\jre\bin\fontmanager.dll 0x000000005b960000224K C:\Program Files\Java\jdk1.8.0_161\jre\bin\splashscreen.dll 0x000000005b9a000068K C:\Program Files\Java\jdk1.8.0_161\jre\bin\nio.dll
5.2 jmap -heap,堆详细信息
E:\itstack\git\github.com\interview>jmap -heap 111552 Attaching to process ID 111552, please wait... Debugger attached successfully. Server compiler detected. JVM version is 25.161-b12
using thread-local object allocation. Parallel GC with 8 thread(s)
E:\itstack\git\github.com\interview> jmap -clstats 111552 Attaching to process ID 111552, please wait... Debugger attached successfully. Server compiler detected. JVM version is 25.161-b12 finding classloaderinstances ..done. computingperloaderstat ..done. pleasewait.. computingliveness.................................................................livenessanalysismaybeinaccurate ... class_loaderclassesbytesparent_loaderalive? type
E:\itstack\git\github.com\interview>jhat -port 8090 C:/Users/xiaofuge1/Desktop/heap.bin Reading from C:/Users/xiaofuge1/Desktop/heap.bin... Dump file created Wed Jan 1316:53:47 CST 2021 Snapshot read, resolving... Resolving 246455 objects... Chasing references, expect 49 dots................................................. Eliminating duplicate references................................................. Snapshot resolved. Started HTTP server on port 8090 Server is ready.
「http://localhost:8090/」
jhat -port 8090
7. jstack Java堆栈跟踪工具
jstack(Stack Trace for Java),用于生成虚拟机当前时刻的线程快照(threaddump、javacore)。
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。