虽然我是在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)的更多相关文章

  1. JDK常用命令行工具使用

  2. JDK的命令行工具系列 (三) jhat、jstack

    jhat: heapdump文件分析工具 在前两篇系列文章JDK的命令行工具系列 (一) jps.jstat.JDK的命令行工具系列 (二) javap.jinfo.jmap中, 我们已经介绍过了jp ...

  3. JDK的命令行工具系列 (二) javap、jinfo、jmap

    javap: 反编译工具, 可用来查看java编译器生成的字节码 参数摘要: -help 帮助 -l 输出行和变量的表 -public 只输出public方法和域 -protected 只输出publ ...

  4. JDK的命令行工具系列 (一) jps、jstat

    概述 在我们进行故障定位和性能分析时, 可以使用Java Dump(也叫Dump文件)来帮助排查问题, 它记录了JVM运行期间的内存占用和线程执行等情况.其中Heap Dump文件是二进制格式, 它保 ...

  5. JDK的命令行工具

    Jcmd:综合工具 jcmd -l  列出当前运行的所有虚拟机 参数-l表示列出所有java虚拟机,针对每一个虚拟机,可以使用help命令列出该虚拟机支持的所有命令 jcmd [pid] help j ...

  6. JVM 常用命令行工具

    本文部分摘自<深入理解 Java 虚拟机第三版> 基础故障处理工具 Java 开发人员肯定都知道 JDK 的 bin 目录下有许多小工具,这些小工具除了用于编译和运行 Java 程序外,打 ...

  7. 虚拟机性能监控与故障处理工具------JDK的命令行工具

    ①jps:虚拟机进程状况工具 功能:列出正在运行的虚拟机进程,并显示1.虚拟机执行主类名称以及2.这些进程的本地虚拟机唯一ID(LVMID). 使用频率最高的JDK命令行工具,其他的JDK工具大多需要 ...

  8. Scrapy学习篇(二)之常用命令行工具

    简介 Scrapy是通过Scrapy命令行工具进行控制的,包括创建新的项目,爬虫的启动,相关的设置,Scrapy提供了两种内置的命令,分别是全局命令和项目命令,顾名思义,全局命令就是在任意位置都可以执 ...

  9. Java常用命令行工具

    命令基于Sun JDK,用于监控和诊断HotSpot的java 虚拟机. 对应的可执行文件位于$JAVA_HOME/bin/下 jps-虚拟机进程状况工具 选项 作用 -q 只输出LVMID,同进程p ...

随机推荐

  1. appium+python搭建自动化测试框架_TestAPP框架(三)

    Pycharm 创建 Project,搭建 APPTEST框架如下图:   1.框架功能 业务功能的封装 测试用例封装 测试包管理 截图处理 断言处理 日志获取 测试报告生成 数据驱动 数据配置 2. ...

  2. 如何正确的升级node版本【已解决】

    博主亲身经历可以用以下几步解决node版本问题噢,解决了记得留个赞哈! 1 . 首先要安装n这个版本控制器噢 npm i -g n 如果这一步成功了就接着走哈,但是博主试了,大多数是安装不成功的,可以 ...

  3. 【RL-TCPnet网络教程】第2章 嵌入式网络协议栈基础知识

    第2章        嵌入式网络协议栈基础知识 本章教程为大家介绍嵌入式网络协议栈基础知识,本章先让大家有一个全面的认识,后面章节中会为大家逐一讲解用到的协议. 基础知识整理自百度百科,wiki百科等 ...

  4. 导入虚拟机vmware,此主机支持Intel VT-x,但Intel VT-x处于禁用状态和黑屏

    解决方法:进入BIOS(按什么键进入bios,需要看你用什么电脑),把Intel Virtualization Technology         设置enabled 然后是黑屏解决方法:管理员模式 ...

  5. 添加python虚拟环境

    在我centos上装有两个python版本 # 我在~/py3/目录下创建虚拟环境,该目录为python3的一个独立环境 [root@localhost /]# cd home [root@local ...

  6. MySql 触发器的新增、修改、删除的创建

    MySql 触发器与SQL server 触发器不同: SQL Server   使用 inserted.deleted 代表被触发的数据. MySQL NEW代表触发后的新数据行,Old代表当前触发 ...

  7. Oracle 数据库禁止全表访问的时候direct path read /////

    一般在OLAP环境中,大表在进行全表扫描的时候一般会出现direct path read等待事件,如果在OLTP环境中,出现大量的direct path read直接路径读取,这样就有问题了.一般在O ...

  8. 毕业设计5:基于MicroPython的智能火灾报警器系统的设计与实现

    随着现代家庭用火.用电量的增加,家庭火灾发生的频率越来越高.家里一旦发生火灾,如果出现扑救不及时.灭火器材缺乏.以及在场人惊慌失措.逃生迟缓等不利情况下,最终就会导致产生重大的生命财产的损失. 消防部 ...

  9. Linux 下操作Mysql指令的总结 远程连接的设置

    参考博客:https://www.cnblogs.com/liaocheng/p/4243579.html (常用命令) https://www.cnblogs.com/zhangzhu/archiv ...

  10. Linux基础优化与安全归纳总结

    一名运维工程师在运维岗位上时间久了,就会发现Linux优化的重要性,同时会给运维工作带来很多的便利性.本人逐渐认识到了这一点,所以特意在工作闲暇之余,通过阅读Linux相关书籍及向同事.同行高手咨询, ...