java基础-jdk工具包
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,打开客户端
参考:
- JDK工具一览表 https://blog.csdn.net/qq_27607965/article/details/79982519
- 使用JDB调试Java程序 https://www.cnblogs.com/rocedu/p/6371262.html
- jvm 性能调优工具之 jcmd https://www.jianshu.com/p/388e35d8a09b
- jconsole工具使用 https://www.cnblogs.com/baihuitestsoftware/articles/6405580.html
- jvisualvm 工具使用 https://www.cnblogs.com/kongzhongqijing/articles/3625340.html
java基础-jdk工具包的更多相关文章
- Java 基础 - JDK 和 JRE 有什么区别
总结 JRE(Java Runtime Environment),就是 Java 运行环境,包括JVM虚拟机(java.exe等)和基本的类库(rt.jar等). JDK (Java Developm ...
- Java基础--JDK的安装和配置
一.Java平台简述 1.1 Java语言简介 Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两 ...
- 七、Java基础---------JDK安装与配置
配置环境变量名词说明 path:通过path系统去寻找可执行的java文件. JAVA_HOME:JDK的安装目录 classpath:加载目录 为什么需要配置path,什么时候需要classpath ...
- java基础---JDK、JRE、JVM的区别和联系
当我们学习java语言时,首先需要安装到我们电脑上的就是jdk.jdk是java语言的开发环境,只有安装了jdk,我们才能使用java语言开发程序. JDK=JRE+开发工具包 JRE=JVM+核心类 ...
- Java基础-JDK、JRE与JVM的区别
JRE与JVM.JDK的区别 从下而上:最上层 JDK -- java development kit (java开发工具包)中间层 JRE -- java runtime enviro ...
- Java基础-JDK动态代理
JDK的动态代理依靠接口实现 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代 ...
- Java基础—JDK环境变量配置
1.安装JDK 下载网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 注意点 ...
- java基础JDK jvm path环境变量
JDk=JRE +java的开发工具(javac.exe java.exe javadoc.exe)JRE =JVM +Java核心类库 2.为什么 要配置 path环境变量 ?如何配置?JAVA_H ...
- Java基础-jdk动态代理与cglib动态代理区别
JDK动态代理 此时代理对象和目标对象实现了相同的接口,目标对象作为代理对象的一个属性,具体接口实现中,可以在调用目标对象相应方法前后加上其他业务处理逻辑. 代理模式在实际使用时需要指定具体的目标对象 ...
随机推荐
- AI - TensorFlow - 示例02:影评文本分类
影评文本分类 文本分类(Text classification):https://www.tensorflow.org/tutorials/keras/basic_text_classificatio ...
- Identity Server 4 - Hybrid Flow - 保护API资源
这个系列文章介绍的是Identity Server 4 的 Hybrid Flow, 前两篇文章介绍了如何保护MVC客户端, 本文介绍如何保护API资源. 保护MVC客户端的文章: https://w ...
- scala获取某个时间间隔的时间
原始 dataFrame : //获取前7天的时间long类型 def getDaytimeTime(day:Int): Long = { val cal = Calendar.getInstance ...
- DataIntegrityViolationException
今天出现了这个问题: org.springframework.dao.DataIntegrityViolationException: Could not execute JDBC batch upd ...
- CollapsingToolbarLayoutDemo【可折叠式标题栏,顺便带有CardView卡片式布局】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 CollapsingToolBarLayout是一个作用于ToolBar基础之上的布局,它也是由Design Support库提供的 ...
- 【我们一起写框架】MVVM的WPF框架(二)—绑定
MVVM的特点之一是实现数据同步,即,前台页面修改了数据,后台的数据会同步更新. 上一篇我们已经一起编写了框架的基础结构,并且实现了ViewModel反向控制Xaml窗体. 那么现在就要开始实现数据同 ...
- Linux文本三剑客超详细教程---grep、sed、awk
awk.grep.sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单 ...
- Centos7+LVS-NAT+apache实验
一.简介 1.理论已经在上一篇博客简述,不了解得可以看看 https://www.cnblogs.com/zhangxingeng/p/10497279.html 2.LVS-NAT优缺点复习 关于这 ...
- Jquery简单学习
Jquery是一个JavaScript的函数库,Jquery是一个写得少但做的多的轻量级JavaScript库 Jquery用美元$定义. Jquery的action执行对元素的操作 文档就绪函数: ...
- String-StringBuffer-StringBuilder的区别和源码分析
一,String,StringBuffer,StringBuilder三者之间的关系 三个类的关系:StringBuffer和StringBuilder都继承自AbstractStringBuilde ...