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动态代理 此时代理对象和目标对象实现了相同的接口,目标对象作为代理对象的一个属性,具体接口实现中,可以在调用目标对象相应方法前后加上其他业务处理逻辑. 代理模式在实际使用时需要指定具体的目标对象 ...
随机推荐
- python基础-函数(9)
一.函数的介绍 如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数 函数的语法格式: def 函数名(): 函数的功能代码 ...
- 使用Identity Server 4建立Authorization Server (4)
预备知识: http://www.cnblogs.com/cgzl/p/7746496.html 第一部分: http://www.cnblogs.com/cgzl/p/7780559.html 第二 ...
- 《白帽子讲Web安全》- 学习笔记
一.为何要了解Web安全 最近加入新公司后,公司的官网突然被Google标记为了不安全的诈骗网站,一时间我们信息技术部门成为了众矢之的,虽然老官网并不是我们开发的(因为开发老官网的前辈们全都跑路了). ...
- AsyncTask原理
一.概述 Android开发中我们通常让主线程负责前台用户界面的绘制以及响应用户的操作,让工作者线程在后台执行一些比较耗时的任务.Android中的工作者线程主要有AsyncTask.IntentSe ...
- Python实战171203统计
统计序列中元素出现的频次 如何统计出某一个随机数列的元素出现的次数是多少? import randomdata=[random.randint(0,7) for _ in range(15)]c=di ...
- Java将数据按列写入Excel并设置格式(字体、背景色、自动列宽、对齐方式等)
本文使用jxl.jar工具类库将数据按列写入Excel并设置格式(字体.背景色.自动列宽.对齐方式等). /** * 按列写入Excel并设置格式 * * @param outputUrl * 输出路 ...
- Python编程从入门到实践笔记——操作列表
Python编程从入门到实践笔记——操作列表 #coding=utf-8 magicians = ['alice','david','carolina'] #遍历整个列表 for magician i ...
- SpringCloud系列——SSO 单点登录
前言 作为分布式项目,单点登录是必不可少的,文本基于之前的的博客(猛戳:SpringCloud系列——Zuul 动态路由,SpringBoot系列——Redis)记录Zuul配合Redis实现一个简单 ...
- winform中使用委托进行窗体之间的传值
一.传统的方式 创建一个公共数据资源类,用于存储窗体2的TextBox的值: public class ComValue { public static string Txtvalue { get; ...
- js正则表达式替换HTML标签以及空格( )
参考:范仁义 js代码: function filter(text) { var reg = /<[^<>]+>/g;//1.全局匹配g肯定忘记写,2.<>标签中不 ...