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动态代理 此时代理对象和目标对象实现了相同的接口,目标对象作为代理对象的一个属性,具体接口实现中,可以在调用目标对象相应方法前后加上其他业务处理逻辑. 代理模式在实际使用时需要指定具体的目标对象 ...
随机推荐
- 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十 || AOP面向切面编程浅解析:简单日志记录 + 服务切面缓存
代码已上传Github+Gitee,文末有地址 上回<从壹开始前后端分离[ .NET Core2.0 Api + Vue 2.0 + AOP + 分布式]框架之九 || 依赖注入IoC学习 + ...
- 特征提取方法: one-hot 和 TF-IDF
one-hot 和 TF-IDF是目前最为常见的用于提取文本特征的方法,本文主要介绍两种方法的思想以及优缺点. 1. one-hot 1.1 one-hot编码 什么是one-hot编码?one-ho ...
- Python爬虫实例:爬取猫眼电影——破解字体反爬
字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页中的文字,而网页中的文字不再是文字,而是相应的字体编码,通过复制或者简单的采集是无法采集到编码后的文字内容的. 现在貌似不少网 ...
- 痞子衡嵌入式:开启NXP-MCUBootUtility工具的HAB加密功能 - CST(中英双语)
1 Reason for enabling HAB encryption function 为什么要开启HAB加密功能 NXP-MCUBootUtility is a tool designed fo ...
- Django-restframework之路由控制、解析器及响应器
django-restframework之路由控制.解析器及响应器 一 前言 本篇博客介绍 restframework 框架的剩下几个组件,路由控制有三种:传统路由.半自动路由及全自动路由:解析器是用 ...
- [TCP/IP] 传输层-ethereal 抓包分析TCP包
开启抓包工具抓取一个HTTP的GET请求,我的ip是10.222.128.159 目标服务器ip是140.143.25.27 握手阶段: 客户端 ===> SYN MSS=1460(我能接 ...
- Spring Boot 2.X 如何添加拦截器?
最近使用SpringBoot2.X搭建了一个项目,大部分接口都需要做登录校验,所以打算使用注解+拦截器来实现,在此记录下实现过程. 一.实现原理 1. 自定义一个注解@NeedLogin,如果接口需要 ...
- JavaScript 是如何工作的:JavaScript 的内存模型
摘要: 从内存角度理解 let 和 const 的意义. 原文:JavaScript 是如何工作的:JavaScript 的内存模型 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 这 ...
- 数据库学习(MySQL):JDBC的简单增删改查实现
本文为原创,转载请注明出处: https://www.cnblogs.com/Tom-shushu/p/9171896.html 这里我们先在数据库建立一个userinfo表: CREATE TABL ...
- Web前端-CSS必备知识点
Web前端-CSS必备知识点 css基本内容,类选择符,id选择符,伪类,伪元素,结构,继承,特殊性,层叠,元素分类,颜色,长度,url,文本,字体,边框,块级元素,浮动元素,内联元素,定位. 链接: ...