1、远程debug
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044
- suspend:是不是等远程连接来了才开始启动进程
- address:端口号
2、jstack线程分析 thread dump日志文件分析_旧路-CSDN博客_dump日志分析
jstack pid >a :获取栈信息输出到a
java -jar jcaxx.jar。在软件里打开a,就可以看到线程栈的情况
3、飞行数据 jvm运行时保留相关信息总结_java 技术交流。-CSDN博客
- -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,repository=D:/Users/YEZHENGWU839/Desktop/fs,maxage=6m,settings=default
- -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=delay=20s,duration=60s,name=myrecording,filename=D:/Users/YEZHENGWU839/Desktop/fs/myrecording.jfr,settings=profile
4、dump
5、gc日志 查看JVM的GC日志_liao0801_123的博客-CSDN博客_如何查看gc日志
从java1.6开始,cp参数支持通配符匹配jar文件。需要注意两点:
1.用引号"
2.用*
,而不是*.jar
这个时候可以直接这么写
Windows:
java -cp "Test.jar;lib/*" my.package.MainClass
Linux:
java -cp "Test.jar:lib/*" my.package.MainClass