JDK常用命令行工具(基于JDK10)
虽然我是在jdk10环境下, 但是大体上和jdk8是差不多的. 总共有这么多

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

jshell退出

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



还以为我从此以后不再需要计算器了
java的jshell计算大数的时候如下:(果然不出所料...失望..)

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

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

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

红色圈出来的数字是pid, 也就是进程id
jcmd <pid> PerfCounter.print 性能统计信息


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


jcmd <pid> VM.version 看JVM版本信息
从上面一小节的截图中咱们挑一个执行一下. 比如 倒数第二行的VM.version

这样就利用了VM.version操作打印出了JDK虚拟机的版本.
jcmd <pid> GC.class_histogram 查看系统中类统计信息
(和这个命令是一个效果 jmap -histo <pid> )

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

jcmd <pid> Thread.print 查看线程堆栈信息
(等同于这个命令: jstack <pid> )

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

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

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

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

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

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

jmap
jmap -dump:live,format=b,file=dump.hprof <pid> 输出堆信息到文件.
live指的是活着的对象, 如果不指定, 那么就会输出所有对象的

jmap -heap <pid> heap的信息,GC使用的算法,heap的配置
jdk10 里发现不支持-heap了. 被前面的 `jhsdb jmap --heap --pid <pid>` 这个命令替代了.
jmap -finalizerinfo <pid> 打印等待回收的对象信息

输出这个说明没有F-QUEUE队列中并没有等待Fializer线程执行finalizer方法的对象
jmap -histo:live <pid> 打印堆的对象统计
(作用和这个命令相同 jcmd <pid> GC.class_histogram )

jmap -clstats <pid> 类加载器统计信息

jps
jps 显示jvm进程id及name

jps -q 仅显示进程id

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

jps -l 显示全限定名

jps -v 显示jvm参数

jstack
jstack <pid> 查看线程堆栈信息
(等同于这个命令 jcmd <pid> Thread.print)

jstat
jstat这里讲的更详细: https://blog.csdn.net/zhaozheng7758/article/details/8623549
JDK常用命令行工具(基于JDK10)的更多相关文章
- JDK常用命令行工具使用
- JDK的命令行工具系列 (三) jhat、jstack
jhat: heapdump文件分析工具 在前两篇系列文章JDK的命令行工具系列 (一) jps.jstat.JDK的命令行工具系列 (二) javap.jinfo.jmap中, 我们已经介绍过了jp ...
- JDK的命令行工具系列 (二) javap、jinfo、jmap
javap: 反编译工具, 可用来查看java编译器生成的字节码 参数摘要: -help 帮助 -l 输出行和变量的表 -public 只输出public方法和域 -protected 只输出publ ...
- JDK的命令行工具系列 (一) jps、jstat
概述 在我们进行故障定位和性能分析时, 可以使用Java Dump(也叫Dump文件)来帮助排查问题, 它记录了JVM运行期间的内存占用和线程执行等情况.其中Heap Dump文件是二进制格式, 它保 ...
- JDK的命令行工具
Jcmd:综合工具 jcmd -l 列出当前运行的所有虚拟机 参数-l表示列出所有java虚拟机,针对每一个虚拟机,可以使用help命令列出该虚拟机支持的所有命令 jcmd [pid] help j ...
- JVM 常用命令行工具
本文部分摘自<深入理解 Java 虚拟机第三版> 基础故障处理工具 Java 开发人员肯定都知道 JDK 的 bin 目录下有许多小工具,这些小工具除了用于编译和运行 Java 程序外,打 ...
- 虚拟机性能监控与故障处理工具------JDK的命令行工具
①jps:虚拟机进程状况工具 功能:列出正在运行的虚拟机进程,并显示1.虚拟机执行主类名称以及2.这些进程的本地虚拟机唯一ID(LVMID). 使用频率最高的JDK命令行工具,其他的JDK工具大多需要 ...
- Scrapy学习篇(二)之常用命令行工具
简介 Scrapy是通过Scrapy命令行工具进行控制的,包括创建新的项目,爬虫的启动,相关的设置,Scrapy提供了两种内置的命令,分别是全局命令和项目命令,顾名思义,全局命令就是在任意位置都可以执 ...
- Java常用命令行工具
命令基于Sun JDK,用于监控和诊断HotSpot的java 虚拟机. 对应的可执行文件位于$JAVA_HOME/bin/下 jps-虚拟机进程状况工具 选项 作用 -q 只输出LVMID,同进程p ...
随机推荐
- (二)图数据neo4j基本认识
1.neo4j介绍 Neo4j是由Java和Scala实现的开源NoSQL图数据库.自2003年开始研发,直到2007年正式发布第一版.Neo4j的源代码托管在GitHub上,技术支持托管在Stack ...
- Oracl 一条sql语句 批量添加、修改数据
最近一直在用,也一直在学oralc,项目上也用到了批量的添加(读取上传CSV文件信息,把符合条件的信息写入到数据库中),在写的时候想到了可能是数据量大就想该怎么快,(由于本人在.NET开发期间没有做过 ...
- jquery监听textarea内容变化
$('#textarea').bind('input propertychange', function(){ var length = $("#textarea").val(). ...
- 「Python」为什么Python里面,整除的结果会是小数?
2018-06-08 参考资料:Python学习笔记(4)负数除法和取模运算 先来看三个式子(!这是在Python3.0下的运算结果): 输出结果: ‘//’明明是整除,为什么结果不是整数,而会出现小 ...
- Node.js如何执行cmd
最近正好因业务的一个需求需要研究如何根据vscode的插件名来下载对应的插件以解决之前将插件打包上传到服务器上面导致的延迟问题(插件体积小还好说,如果体积过大,即便是压缩打成zip包,如果同一时刻很多 ...
- VSC 解决红底线问题
话不多说 设置里代码奉上 { "editor.minimap.enabled": false, "workbench.iconTheme": "vs ...
- 如何注册一个google账号
注册过google账号的人都知道,在注册的过程中会需要短信验证. 可我大天朝偏偏连这个都锁了,导致根本验证不了. 所以,经过网上方法的不断尝试,排除了很多的方法:例如使用qq邮箱注册等,现在已经不能用 ...
- [原创]一种专门用于前后端分离的web服务器(JerryServer)
如果你还不了解现在的前后端分离,推荐阅读淘宝前端团队的前后端分离的思考与实践 1.问题 随着现在整个软件开发行业的发展,在开发模式上逐渐由以前的一个人完成服务端和前端web页面,演变为前端和后端逐渐分 ...
- Neutron路由篇:L3 agent+Namespace
Neutron 的路由服务是由 l3 agent 提供的. 除此之外,l3 agent 通过 iptables 提供 firewall 和 floating ip 服务. l3 agent 需 ...
- 【递归】hex2dec
自己捉摸了好久,由于不熟悉. #include <stdio.h> int dec2hex(char *p); int base; int num; int main(void) { ch ...