zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    高阶篇:1.2)材料和工艺的选择
    高阶篇:4.1.1)QFDI(客户需求转换为设计要求)
    高阶篇:4)可靠性设计-总章
    高阶篇:1.5)如何选择更好的概念-Pugh矩阵法
    知识点篇:2)产品结构设计目标的分类
    高阶篇:1.1)竞品(标杆产品)的拆解和分析benchmarking
    支持向量机
    机器学习概述
    HDU_oj_2055 An easy problem
    HDU_oj_2054 A==B ?
  • 原文地址:https://www.cnblogs.com/noKing/p/9457541.html
Copyright © 2011-2022 走看看