JAVA 常用工具
JAVA 常用工具
jar - 为类和资- 源创建存档,并从存档中操作或恢复单个类或资源
- jarsigner - 签名和验证 Java 存档 (JAR) 文件
- java - 启动 Java 应用程序
- javac - 读取Java类和接口定义并将它们编译成字节码和类文件
- javadoc - 从 Java 源文件生成 API 文档的 HTML 页面
- javap - 反汇编一个或多个类文件
- jcmd - 向正在运行的 Java 虚拟机 (JVM) 发送诊断命令请求
- jconsole - 启动图形控制台来监视和管理 Java 应用程序
- jdb - 查找并修复 Java 平台程序中的错误
- jdeprscan - 静态分析工具,用于扫描 jar 文件(或类文件的其他一些聚合)以查找已弃用的 API 元素的使用
- jdeps - 启动 Java 类依赖分析器
- jfr - 解析和打印飞行记录器文件
- jhsdb - 附加到 Java 进程或启动事后调试器来分析崩溃的 Java 虚拟机 (JVM) 的核心转储内容
- jinfo - 生成指定Java进程的Java配置信息
- jlink - 将一组模块及其依赖项组装并优化为自定义运行时映像
- jmap - 打印指定进程的详细信息
- jmod - 创建 JMOD 文件并列出现有 JMOD 文件的内容
- jpackage - 打包一个独立的 Java 应用程序
- jps - 列出目标系统上已检测的 JVM
- jrunscript - 运行支持交互和批处理模式的命令行脚本 shell
- jshell - 在读取-评估-打印循环 (REPL) 中交互式地评估 Java 编程语言的声明、语句和表达式
- jstack - 打印指定 Java 进程的 Java 线程的 Java 堆栈跟踪
- jstat - 监控 JVM 统计信息
- jstatd - 监视已检测的 Java HotSpot VM 的创建和终止
- jwebserver - 启动 Java 简单 Web 服务器
- keytool - 管理加密密钥、X.509 证书链和可信证书的密钥库(数据库)
- rmiregistry - 在当前主机上的指定端口上创建并启动远程对象注册表
- Serialver - 以适合复制到不断发展的类中的形式返回一个或多个类的“serialVersionUID”
简单实用案例
# 打印 app.jar 内容
jar -tf app.jar
# 查看有哪些 java 进程
jps
# 查看指定 PID 的Java进程运行信息
jinfo -flags <PID>
# 查看堆内存各区域的使用率以及GC情况
jstat -gcutil -h20 pid 1000
# 没 5 秒钟打印一次GC情况
jstat -gcutil pid 5000
# 查看堆内存中的存活对象,并按空间排序
jmap -histo pid | head -n20
# dump堆内存文件
jmap -dump:format=b,file=heap pid
# 查看资源占用
top
top -p pid
top -Hp pid
# 查看调用栈状态:是否有死锁
jstack -l pid
# 打印调用栈信息至指定文件
jstack pid > tmp.file