JDK常用命令行工具(基于JDK10)

虽然我是在jdk10环境下, 但是大体上和jdk8是差不多的. 总共有这么多

JDK常用命令行工具(基于JDK10)_第1张图片

本来想着一口气把所有命令都边学边总结一下的, 结果发现....有些还真的不是很常用....或者说我这个水平还接触不到那么多.  于是我就把我能使用到的几个常用的总结一下了.  当做是笔记了.

jshell

jshell启动

JDK常用命令行工具(基于JDK10)_第2张图片

jshell退出

jshell使用

就想python一样, 可以每一行代码都返回一个交互结果. 编写短小的程序来运行的时候, 就不用新建项目, 然后新建一个类了...可以直接上核心代码了.

JDK常用命令行工具(基于JDK10)_第3张图片

还以为我从此以后不再需要计算器了

java的jshell计算大数的时候如下:(果然不出所料...失望..)

JDK常用命令行工具(基于JDK10)_第4张图片

怎么解决呢? 肯定是因为默认数字都是Integer型. 只好手动调用BigInteger了.

jcmd

jcmd -h  输出jcmd的帮助信息.

JDK常用命令行工具(基于JDK10)_第5张图片

jcmd -l   打印出所有jvm进程信息.

JDK常用命令行工具(基于JDK10)_第6张图片

红色圈出来的数字是pid, 也就是进程id

jcmd PerfCounter.print  性能统计信息

JDK常用命令行工具(基于JDK10)_第7张图片

JDK常用命令行工具(基于JDK10)_第8张图片

jcmd help    列出可执行的进程操作

JDK常用命令行工具(基于JDK10)_第9张图片

JDK常用命令行工具(基于JDK10)_第10张图片

jcmd VM.version   看JVM版本信息

从上面一小节的截图中咱们挑一个执行一下. 比如 倒数第二行的VM.version

JDK常用命令行工具(基于JDK10)_第11张图片

这样就利用了VM.version操作打印出了JDK虚拟机的版本.

jcmd GC.class_histogram  查看系统中类统计信息

(和这个命令是一个效果 jmap -histo   )

JDK常用命令行工具(基于JDK10)_第12张图片

jcmd VM.uptime    查看 JVM 的启动时长

jcmd Thread.print   查看线程堆栈信息

(等同于这个命令:   jstack )

JDK常用命令行工具(基于JDK10)_第13张图片

jcmd GC.run   对JVM执行System.gc()

jcmd  VM.system_properties  查看JVM的系统配置信息

JDK常用命令行工具(基于JDK10)_第14张图片

jcmd VM.flags  查看JVM的启动参数

jhsdb命令

这个命令是jdk9之后才开始有的

jhsdb hsdb

这命令会打开图形界面. 看起来很高大上的样子...这个还有待学习....看知乎上R大介绍过, 学习学习.

JDK常用命令行工具(基于JDK10)_第15张图片

jhsdb jmap --heap --pid

查看heap的信息,GC使用的算法,heap的配置. (原来的jmap -heap 命令没有了, 被这个命令代替了)

JDK常用命令行工具(基于JDK10)_第16张图片

jmap

jmap -dump:live,format=b,file=dump.hprof   输出堆信息到文件.

live指的是活着的对象, 如果不指定, 那么就会输出所有对象的

jmap -heap   heap的信息,GC使用的算法,heap的配置

jdk10 里发现不支持-heap了. 被前面的  `jhsdb jmap --heap --pid `  这个命令替代了.

jmap -finalizerinfo    打印等待回收的对象信息

输出这个说明没有F-QUEUE队列中并没有等待Fializer线程执行finalizer方法的对象

jmap -histo:live   打印堆的对象统计

(作用和这个命令相同   jcmd GC.class_histogram   )

JDK常用命令行工具(基于JDK10)_第17张图片

 jmap -clstats   类加载器统计信息

JDK常用命令行工具(基于JDK10)_第18张图片

jps

jps 显示jvm进程id及name

JDK常用命令行工具(基于JDK10)_第19张图片

jps -q 仅显示进程id

JDK常用命令行工具(基于JDK10)_第20张图片

jps -m  显示主函数传入的参数

JDK常用命令行工具(基于JDK10)_第21张图片

jps -l  显示全限定名

JDK常用命令行工具(基于JDK10)_第22张图片

jps -v  显示jvm参数

JDK常用命令行工具(基于JDK10)_第23张图片

jstack 

jstack   查看线程堆栈信息

(等同于这个命令 jcmd Thread.print)

JDK常用命令行工具(基于JDK10)_第24张图片

jstat 

jstat这里讲的更详细:  https://blog.csdn.net/zhaozheng7758/article/details/8623549

你可能感兴趣的:(JDK常用命令行工具(基于JDK10))