1. 标准工具

这些工具都是JDK提供的,通常都是长期支持的工具,JDK承诺这些工具比较好用。不同系统、不同版本之间可能会有差异,但是不会突然就有一个工具消失。

1.1 基础包 (extcheck, jar, java, javac, javadoc, javap)

工具 简述 常用命令
javac 编译.java源文件 javac hello.java
java 运行.class字节码或.jar文件 java hello.class, java -jar my.jar
jar 创建和管理Jar文件 jar -cvf my.jar .\*
javadoc API文档生成器 javadoc hello.java 生成html文档
javap 根据Java字节码反编译为Java源代码 javap hello.class
jdb Java调试器(Java Debugger)

1.2 故障排查,分析,监控和管理 (jcmd, jconsole, jmc, jvisualvm)

工具 简述 常用命令
jcmd 发送诊断命令到JVM jcmd
jconsole 监控本地和远程jvm的图形工具 jconsole
jvisualvm 查看java程序信息 jvisualvm

jcmd命令

查看进程 jcmd -l

命令:jcmd -l

描述:查看 当前机器上所有的 jvm 进程信息

jcmd
jcmd -l
jps

查看性能统计 jcmd pid PerfCounter.print

命令:jcmd pid PerfCounter.print

描述:查看指定进程的性能统计信息。

列出当前运行的 java 进程可以执行的操作 jcmd PID help

命令:jcmd PID help

查看具体命令的选项 jcmd 11772 help JFR.dump

如果想查看命令的选项,比如想查看 JFR.dump 命令选项,可以通过如下命令:

jcmd 11772 help JFR.dump

通知垃圾回收 jcmd PID GC.run

命令:jcmd PID GC.run

描述:对 JVM 执行 java.lang.System.gc()

告诉垃圾收集器打算进行垃圾收集,而垃圾收集器进不进行收集是不确定的。

强制垃圾回收 jcmd PID GC.run_finalization

命令:jcmd PID GC.run_finalization

描述: 对 JVM 执行 java.lang.System.runFinalization()

执行一次finalization操作,相当于执行java.lang.System.runFinalization()




jconsole工具使用

jconsole介绍

  • Jconsole是JDK自带的监控工具,在JDK/bin目录下可以找到。
  • 它用于连接正在运行的本地或者远程的JVM,对运行在java应用程序的资源消耗和性能进行监控,并画出大量的图表,提供强大的可视化界面。而且本身占用的服务器内存很小,甚至可以说几乎不消耗。
  • 从命令行直接输入jconsole,打开客户端

jvisualvm工具

jvisualvm介绍

  • VisualVM,能够监控线程,内存情况,查看方法的CPU时间和内存中的对象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的).
  • 从命令行直接输入jvisualvm,打开客户端

参考:

java基础-jdk工具包的更多相关文章

  1. Java 基础 - JDK 和 JRE 有什么区别

    总结 JRE(Java Runtime Environment),就是 Java 运行环境,包括JVM虚拟机(java.exe等)和基本的类库(rt.jar等). JDK (Java Developm ...

  2. Java基础--JDK的安装和配置

    一.Java平台简述 1.1 Java语言简介 Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两 ...

  3. 七、Java基础---------JDK安装与配置

    配置环境变量名词说明 path:通过path系统去寻找可执行的java文件. JAVA_HOME:JDK的安装目录 classpath:加载目录 为什么需要配置path,什么时候需要classpath ...

  4. java基础---JDK、JRE、JVM的区别和联系

    当我们学习java语言时,首先需要安装到我们电脑上的就是jdk.jdk是java语言的开发环境,只有安装了jdk,我们才能使用java语言开发程序. JDK=JRE+开发工具包 JRE=JVM+核心类 ...

  5. Java基础-JDK、JRE与JVM的区别

    JRE与JVM.JDK的区别 从下而上:最上层    JDK  -- java development kit (java开发工具包)中间层    JRE -- java runtime enviro ...

  6. Java基础-JDK动态代理

    JDK的动态代理依靠接口实现  代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代 ...

  7. Java基础—JDK环境变量配置

    1.安装JDK 下载网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 注意点 ...

  8. java基础JDK jvm path环境变量

    JDk=JRE +java的开发工具(javac.exe java.exe javadoc.exe)JRE =JVM +Java核心类库 2.为什么 要配置 path环境变量 ?如何配置?JAVA_H ...

  9. Java基础-jdk动态代理与cglib动态代理区别

    JDK动态代理 此时代理对象和目标对象实现了相同的接口,目标对象作为代理对象的一个属性,具体接口实现中,可以在调用目标对象相应方法前后加上其他业务处理逻辑. 代理模式在实际使用时需要指定具体的目标对象 ...

随机推荐

  1. mybatis框架(7)---mybatis逆向工程

    mybatis逆向工程 ​ 逆向工程的目的就是缩减了我们的开发时间.所谓mybatis逆向工程,就是mybatis会根据我们设计好的数据表,自动生成pojo.mapper以及mapper.xml. 接 ...

  2. 网络学习笔记(一):TCP连接的建立与关闭

      五层网络模型分为:物理层.数据链路层.网络层.传输层.应用层.其中,传输层有两种主要协议:面向连接的TCP(Transmission Control Protocol 传输控制协议).无连接的UD ...

  3. 用SpringCloud进行微服务架构演进

    在<架构师必须要知道的阿里的中台战略与微服务> 中已经阐明选择SpringCloud进行微服务架构实现中台战略,因此下面介绍SpringCloud的一些内容,SpringCloud已经出来 ...

  4. git push提交报错,提示文件过大,且去掉大文件也报同样的错误

    错误原因: 大文件存在没有被提交的commit记录里面: 解决方案: 删除有大文件的commit记录即可 移除大文件的正确姿势 $ git rm --cached giant_file(文件名) # ...

  5. zxing 如何识别反转二维码

    说起二维码扫描,估计很多人用的是 zxing 吧. 然而 zxing 虽然好用,但是却有一些坑. 这边分析一下自己实际项目遇到的一个坑. 什么坑呢? 下面举个栗子你就懂了. 这边生成二维码使用的是网络 ...

  6. 系统设计Design For Failure思想

    系统设计Design For Failure思想 Complex systems fail in spectacular ways. Failure isn't a question of if, b ...

  7. Java笔记(day7-day8)

    this关键字: (1)this(当局部变量和成员变量重名时,可以用关键字this区分)    this代表对象,当前对象       this就是所在函数所属对象的引用      简单来说,哪个对象 ...

  8. js基础复习点

    1.变量   var num=10;       var num1,num2,num3;   num1=10;   num2=20;   num3=30;       var num1=10,num2 ...

  9. HTML文档命名规则

    HTML文档是展示Web前段开发工程师成果的最好表示方式,为了便于文档规范化管理,在编写HTML文档时,必须遵循HTML文件命名规则. HTML文档命名规则如下: (1)文档的扩展名为htm或者htm ...

  10. dedecms织梦上下页标签和CSS

    模板中的分页部分源码: <div class="pagination-wrapper" style= "font-size:20pt;color:red;text- ...