linux命令大全java
linux命令大全java详细介绍
在 Linux 系统中,与 Java 相关的命令主要包括 JDK 自带的工具命令和 Linux 系统管理命令。以下是常用的 Java 相关命令分类整理:
一、JDK 核心命令(Java 开发工具)
javac- 功能:Java 编译器,将
.java源代码编译为.class字节码文件。 - 语法:
javac [选项] 源文件 - 示例:
javac HelloWorld.java
- 功能:Java 编译器,将
java- 功能:Java 虚拟机启动器,运行编译后的.class 文件或 JAR 包。
- 语法:
java [选项] 类名 或 java -jar 包名.jar - 示例:
java HelloWorld或java -jar myapp.jar
javadoc- 功能:生成 Java 文档(基于代码注释)。
- 语法:
javadoc [选项] 源文件 - 示例:
javadoc -d doc/ MyClass.java
jar- 功能:打包工具,用于创建、查看、解压 JAR/WAR/EAR 包。
- 常用选项:
c:创建新包v:显示详细信息f:指定包文件名x:解压包
- 示例:
jar cvf myapp.jar *.class(打包类文件)
jps- 功能:列出当前运行的 Java 进程(JVM 实例)。
- 语法:
jps [选项] - 示例:
jps -l(显示完整包名 / 类名)
二、JVM 监控与调试工具(JDK 自带)
jstack- 功能:打印 Java 进程的线程堆栈信息,用于排查死锁、线程阻塞等问题。
- 语法:
jstack [进程ID] - 示例:
jstack 12345
jmap- 功能:获取 JVM 内存映射信息,生成堆转储文件(Heap Dump)。
- 常用选项:
-dump:format=b,file=heapdump.bin:生成堆转储文件-heap:打印堆内存使用情况
- 示例:
jmap -dump:file=heapdump.bin 12345
jstat- 功能:实时监控 JVM 性能指标(如 GC 频率、内存使用等)。
- 语法:
jstat [选项] 进程ID [间隔时间ms] [次数] - 示例:
jstat -gc 12345 1000(每秒打印一次 GC 信息)
jconsole- 功能:图形化 JVM 监控工具(需 GUI 环境)。
- 语法:
jconsole [进程ID]
jvisualvm- 功能:高级图形化监控工具,支持性能分析、内存泄漏检测等(JDK 9+ 需单独安装)。
- 语法:
jvisualvm
三、Linux 系统管理命令(针对 Java 应用)
- 查看 Java 进程
ps -ef | grep java:查找所有包含 “java” 关键字的进程。ps -eo pid,ppid,user,cmd,%cpu,%mem --sort=-%mem | grep java:按内存占用排序 Java 进程。
- 杀死 Java 进程
kill -9 进程ID:强制终止进程(谨慎使用,可能导致数据丢失)。kill -15 进程ID:优雅终止进程(推荐,允许 JVM 清理资源)。
- 查看日志
tail -f catalina.out:实时监控 Tomcat 等 Java 应用的日志。grep "ERROR" *.log:搜索日志中的错误信息。
- 环境变量配置
- 编辑环境变量文件:
vi /etc/profile或vi ~/.bashrc - 配置 JDK 路径:bash
/usr/lib/jvm/java-17-openjdk/bin:
- 生效配置:
source /etc/profile或source ~/.bashrc
- 编辑环境变量文件:
- 文件 / 目录操作
- 解压 JAR/WAR 包:
unzip myapp.war -d webapp/ - 上传文件到服务器:
scp local.jar user@server:/path/
- 解压 JAR/WAR 包:
** 四、构建与部署工具(Java 项目