虽然我是在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. 浅谈SQL Server数据内部表现形式

    在上篇文章 浅谈SQL Server内部运行机制 中,与大家分享了SQL Server内部运行机制,通过上次的分享,相信大家已经能解决如下几个问题: 1.SQL Server 体系结构由哪几部分组成? ...

  2. SQL 语法使用

    SQL 语句 语句 语法 AND / OR SELECT column_name(s)FROM table_nameWHERE conditionAND|OR condition ALTER TABL ...

  3. 文本相似度 — TF-IDF和BM25算法

    1,$TF-IDF$算法 $TF$是指归一化后的词频,$IDF$是指逆文档频率.给定一个文档集合$D$,有$d_1, d_2, d_3, ......, d_n \in D$.文档集合总共包含$m$个 ...

  4. Qt class

    Help on class Qt in module PyQt5.QtCore: class Qt(sip.simplewrapper) |  Method resolution order: |   ...

  5. TypeScript 之类型判断

    在使用 Angular 做项目的时候,对 TypeScript 的类型判断不太熟练,为了方便查找,特意对 TypeScript 的类型判断做了简单梳理.文章只是 TS 官网的内容摘要,没有高深的知识, ...

  6. I used to know

    曾经我以为, 这世上满是痛苦. 必须靠坚强过活, 必须在深夜的被窝里默默痛哭. 后来我才发现, 这个世上, 只有快乐.

  7. 最大k乘积问题

    68.最大k乘积问题 (15分)C时间限制:3000 毫秒 | C内存限制:3000 Kb题目内容:设I是一个n位十进制整数.如果将I划分为k段,则可得到k个整数.这k个整数的乘积称为I的一个k乘积. ...

  8. .netcore2.0发送邮件

    SmtpClient smtpClient = new SmtpClient(); smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指 ...

  9. mybatis将传入的Integer类型的0被识别成空字符串的问题

    更改mapper文件的sql如下: <if test="interger != null"> interger= #{interger} </if> 原因: ...

  10. 时间通用类 datetime

    /// <summary> /// 时间通用类 /// </summary> public class DateTimeGeneral { /// <summary> ...