《【Java可执行命令】(一)编译工具javac:从源代码到字节码,深入解析Java编译工具 javac ~》
《【Java可执行命令】(二)启动应用程序java: 深入解析应用程序启动工具 java命令 ~》
《【Java可执行命令】(三)API文档生成工具javadoc: 深入解析Java API文档生成工具javadoc ~》
《【Java可执行命令】(四)反编译工具javap:深入解析应用程序反编译工具javap ~》
《【Java可执行命令】(五)打包部署工具 jar:深入解析应用程序打包、分发和部署工具jar ~》
《【Java可执行命令】(六)调试工具 jdb:深入解析应用程序调试工具jdb ~》
《【Java可执行命令】(七)C头文件创建工具 javah:以Java本机接口(JNI)规范创建C头文件,深入解析创建工具javah ~》
《【Java可执行命令】(八)JWS应用程序启动工具 javaws:深入解析Java Web Start应用程序的启动工具javaws ~》
《【Java可执行命令】(九)安装包创建工具 javapackager:使用 JavaPackager 工具打包和部署自包含的 Java 应用程序,支持各种选项来指定相关配置~》
《【Java可执行命令】(十)JAR文件签名工具 jarsigner:通过数字签名及验证保证代码信任与安全,深入解析 Java的 jarsigner命令~》
《【Java可执行命令】(十一)Java 密钥库和证书管理工具keytool:玩转密钥库和证书管理,深入解析keytool工具的应用与技巧~》
《【Java可执行命令】(十二)依赖分析工具jdeps:通过静态分析字节码并提取相关信息来实现依赖分析 ~》
《【Java可执行命令】(十三)策略工具policytool:界面化创建、编辑和管理策略文件中的权限和配置 ~》
《【Java可执行命令】(十四)脚本执行工具jrunscript :在命令行环境下交互式执行一些简单的脚本或测试代码片段~》
《【Java可执行命令】(十五)Java进程状态信息获取工具 jps:获取和监控Java进程的状态信息 ~》
《【Java可执行命令】(十六)诊断命令请求发送工具 jcmd:提供一种简单而强大的方式来管理和监控 Java 进程 ~》
《【Java可执行命令】(十七)JVM运行时信息动态维护工具 jinfo:一个维护 JVM 相关的配置参数和系统属性的工具,辅助故障排除、诊断和优化 ~》
《【Java可执行命令】(十八)可视化监控和管理工具 jconsole:获取 JVM的内存使用情况、线程活动、GC 行为等重要指标的可视化工具 ~》
《【Java可执行命令】(十九)堆转储文件分析工具 jhat:将Java堆转储文件加载到内存,并在浏览器中提供一个交互式界面进行信息浏览及分析 ~》
《【Java可执行命令】(二十)堆转储快照文件及堆信息查看工具 jmap:生成多格式堆转储文件、打印类加载器信息及查看共享对象映射信息 ~》
《【Java可执行命令】(二十一)线程快照生成工具 jstack:帮助开发人员分析和排查线程相关问题(死锁、死循环、线程阻塞…)》
《【Java可执行命令】(二十二)JVM统计信息监视工具 jstat:通过连接到Java虚拟机的本地媒介,获取并显示关于堆、垃圾回收、类加载、编译器等方面的统计信息~》
javac [options]
-d
:指定编译后字节码文件的输出目录;-classpath
:指定编译时查找类、接口和包文件的路径;-sourcepath
:指定查找源文件的路径;-target
:指定生成的Java字节码文件的目标版本;-g
:在生成字节码文件时包含调试信息。java [options] classname [arguments]
-cp <路径>或 -classpath <路径>
:指定类路径来加载Java类文件;-D<名称>=<值>
:设置系统属性;-X
:对非标准参数的支持;-verbose[:class|gc|jni]
:启用不同类型的详细输出;-version
:显示当前安装的Java版本信息;-ea[:...|:]
:在指定的包或类上启用断言;-da[:...|:]
:在指定的包或类上禁用断言。javadoc [options] [packagenames] [sourcefiles] [@files]
-d
:指定生成的文档输出目录并指定要处理的源代码文件;-sourcepath
:指定源代码的路径列表,以及要处理的源文件;-classpath
:指定编译时所需的类路径,以及要处理的源代码文件;-link
:将外部链接添加到生成的文档中;-version
:在生成的文档中包含Java平台的版本信息。javap [options]
-l
:在输出中显示行号和局部变量表信息;-c
:在输出中显示字节码指令信息;-s
:显示与指定类相关的字节码指令及其源代码的符号信息;-verbose
:在输出中显示更详细信息的命令,它可以显示与指定类相关的字节码指令、常量池、方法、字段和其他类信息;-version
:查看类文件的版本信息。jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
-c
:创建jar文件;-t
:列出jar文件内容;-i
:生成jar文件的索引信息;-v
:输出详细信息;-f
:指定jar文件名;-e
:设置可执行类(主类)的入口点。jdb [options] [arguments]
-sourcepath
:指定源代码的路径。run [class [args]]
:运行 Java 应用程序进行调试;print
:在调试过程中打印表达式的值;stop at
: :在指定的类和行号上设置断点; watch [access|all] .
:设置监视点以在字段访问时触发暂停;step
:逐语句执行代码并进入方法调用。javah [options]
-o
:指定输出的头文件名称;-classpath
:设置查找类文件的路径;-jni
:表示生成用于 JNI 的头文件。javaws [运行选项] javaws [控制选项]
-Xnosplash
:运行时不显示启动屏幕;-wait
:等待所有应用程序实例都退出后再退出javaws;-import [导入选项]
:将应用程序导入高速缓存。javapackager -command [-options]
-createjar [-options]
:打包程序根据其他参数生成 jar 档案;-deploy [-options]
:打包程序根据其他参数生成 jnlp 和 html 文件;-signJar [-options]
:对 JAR 文件进行签名。jarsigner [-options] jar-file alias
-keystore
:指定密钥库 (Keystore) 文件的路径和名称;-storepass <口令>
:指定密钥库的密码;-keypass <口令>
:指定密钥的密码;-tsa
:指定时间戳服务器的URL;-verify
:验证已签名的 JAR 文件的完整性和有效性。keytool [-command_name] [命令] [参数]
-certreq
:生成证书请求;-exportcert
:导出证书;-genkeypair
:生成密钥对;-importcert
:导入证书或证书链;-list
:列出密钥库中条目。jdeps [options] ...
-dotoutput
:DOT 文件输出的目标目录;-s
:仅输出被依赖对象概要;-v
:输出所有类级别被依赖对象;-cp < path>
:指定查找类文件的位置。policytool
直接进入图形化界面jrunscript [options] [arguments...]
-l
:使用指定的脚本语言;-e
:执行给定内联脚本;-f
:执行给定的外部脚本文件。jps [-q] [-mlvV] []
-q
:仅显示进程ID,省略主类的全限定名;-m
:显示传递给主类main()方法的参数;-l
:显示完整的类名而非缩写;-v
:显示虚拟机的启动参数;-V
:显示 jps 工具的版本信息。jcmd []
-l
:列出正在运行的 Java 进程;help
:列出特定进程的诊断命令列表;
:执行诊断命令。jinfo [option]
:连接到正在运行的进程;jinfo [option]
:连接到核心文件;jinfo [option] [server_id@]
:连接到远程调试服务器。-flags
:查看进程的启动参数;-sysprops
:查看进程的系统属性;-flag
:查看特定虚拟机参数的值;-flag [+/-]
:启用或禁用特定虚拟机参数的值。jconsole [ -interval=n ] [ -notile ] [ -pluginpath ] [ -version ] [ connection ... ]
jhat [-stack ] [-refs ] [-port ] [-baseline ] [-debug ] [-version] [-h|-help]
-J
:将参数直接传递到运行时系统。例如, -J-mx512m 使用512MB的最大堆大小;-port
:设置HTTP服务器的端口。默认值为7000。jmap [option]
:连接到正在运行的进程;jmap [option]
:连接到核心文件;jmap [option] [server_id@]
:连接到远程调试服务器。-heap
:打印Java堆摘要信息;-histo[:live]
:打印Java堆对象的直方图;如果指定"live"子选项,则只计算存活对象;-dump:
:以hprof二进制格式导出Java堆;-J
:将参数直接传递给运行时系统。jstack [-l]
:连接到正在运行的进程;jstack -F [-m] [-l]
:连接到挂起的进程;jstack [-m] [-l]
:连接到核心文件;jstack [-m] [-l] [server_id@]
:连接到远程调试服务器。-F
:以强制线程转储。当 jstack<pid>没有响应时使用(进程挂起);-m
:打印java和本机框架(混合模式);-l
:长清单,打印有关锁的其他信息。jstat -help|-options
jstat -
-gc
:垃圾回收统计信息;-class
:类加载和卸载信息;-compiler
:JIT编译器执行信息;-gcutil
:垃圾回收的堆情况。以下是关于Java可执行命令的简要总结:
命令 | 说明 |
---|---|
编译工具 javac |
使用javac命令将Java源代码编译成字节码文件(.class文件) |
程序启动工具 java |
通过java命令运行已经编译好的Java类文件,启动Java应用程序 |
API文档生成工具 javadoc |
使用javadoc命令生成可阅读的Java API文档,提供给开发者参考使用 |
反编译工具 javap |
使用javap命令可以反编译字节码文件,将其转换为可读的Java源代码 |
打包部署工具 jar |
使用jar命令创建JAR文件(Java归档文件),可以将多个相关的类、资源和元数据打包成单个文件 |
调试工具 jdb |
使用jdb命令进行Java程序的调试,可以设置断点、追踪变量值等 |
C头文件创建工具 javah |
使用javah命令创建与Java本地接口(JNI)相关的C/C++头文件 |
JWS应用程序启动 javaws |
使用javaws命令启动Java Web Start(JWS)应用程序,从网络上自动下载并启动Java应用 |
安装包创建工具 javapackager |
使用javapackager命令创建Java应用程序的安装包,并将其打包成本地安装器 |
JAR文件签名工具 jarsigner |
使用jarsigner命令为JAR文件进行数字签名,以确保文件的完整性和来源验证 |
密钥库和证书管理工具 keytool |
使用keytool命令管理Java密钥库(存储密钥和数字证书),包括生成、导入、导出等功能 |
依赖分析工具 jdeps |
使用jdeps命令分析Java类文件所依赖的其他类和包,帮助解决依赖关系问题 |
策略工具 policytool |
使用policytool命令为Java应用程序创建和编辑安全策略文件,定义权限和授权规则 |
脚本执行工具 jrunscript |
使用jrunscript命令在Java虚拟机上执行JavaScript脚本或命令行表达式 |
Java进程状态信息获取工具 jps |
使用jps命令查看正在运行的Java进程的状态信息,如进程ID、启动类等 |
发送诊断命令请求工具 jcmd |
使用jcmd命令向正在运行的Java进程发送诊断命令请求,例如线程转储、GC标记等 |
JVM运行时信息动态维护工具 jinfo |
使用jinfo命令动态修改和获取正在运行的Java应用程序的配置信息 |
可视化监控和管理工具 jconsole |
使用jconsole命令启动Java监视与管理控制台,可实时监控Java应用程序的运行状态 |
堆转储文件分析工具 jhat |
使用jhat命令分析Java堆转储文件,提供可视化的界面用于检查和分析内存使用情况 |
堆转储快照文件及堆信息查看工具 jmap |
使用jmap命令生成Java堆转储快照文件,并查看堆内存的详细信息 |
线程快照生成工具 jstack |
使用jstack命令生成Java应用程序的线程转储快照,帮助定位死锁和线程相关问题 |
JVM统计信息监视工具 jstat |
使用jstat命令实时监视和收集Java虚拟机的各种运行时统计信息,如垃圾回收、类加载等 |