当前位置: 首页 > ds >正文

Java常用命令汇总

JDK 工具命令

jps(Java Virtual Machine Process Status Tool)

命令示例:jps -l 应用场景:列出当前系统中所有Java进程的PID和主类名,常用于快速定位Java应用的进程ID。

javac(Java Compiler)

命令示例:javac Main.java 应用场景:将Java源文件编译为字节码文件(.class文件),是开发过程中最基础的编译工具。

java(Java Application Launcher)

命令示例:java -jar app.jar 应用场景:运行已编译的Java程序或可执行的JAR包,支持设置JVM参数如内存大小(-Xmx)。

javap(Java Class File Disassembler)

命令示例:javap -c MyClass 应用场景:反编译.class文件,查看字节码指令,用于调试或分析代码逻辑。

jstack(Java Stack Trace)

命令示例:jstack -l <pid> 应用场景:生成Java进程的线程快照,用于分析线程死锁或高CPU占用问题。

jmap(Java Memory Map)

命令示例:jmap -heap <pid> 应用场景:查看Java堆内存使用情况,包括分代内存统计,常用于内存泄漏分析。

jstat(JVM Statistics Monitoring Tool)

命令示例:jstat -gc <pid> 1000 5 应用场景:监控JVM垃圾回收状态,每1秒输出一次,共5次,用于GC性能调优。

jinfo(Java Configuration Info)

命令示例:jinfo -flags <pid> 应用场景:查看或动态修改JVM参数(如-XX:+PrintGCDetails),适用于运行时调试。

jconsole(Java Monitoring and Management Console)

命令示例:jconsole 应用场景:图形化监控JVM内存、线程、类加载等信息,适合直观分析运行时状态。

jcmd(JVM Diagnostic Command Tool)

命令示例:jcmd <pid> VM.flags 应用场景:多功能诊断工具,可获取JVM属性、线程转储、堆转储等。


应用运行命令

运行普通类文件

命令示例:java -cp .:lib/* com.example.Main 应用场景:指定类路径(含依赖库)启动主类,适用于未打包的非模块化项目。

运行可执行JAR

命令示例:java -Xms512m -Xmx1024m -jar app.jar --spring.profiles.active=prod 应用场景:启动Spring Boot等打包应用,设置堆内存大小和激活生产环境配置。

动态附加代理

命令示例:java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar app.jar 应用场景:启用远程调试端口(5005),供IDE连接进行调试。

模块化应用运行

命令示例:java --module-path mods -m com.module/com.module.Main 应用场景:运行JPMS模块化应用,需指定模块路径和主模块。

性能分析启动

命令示例:java -XX:+FlightRecorder -XX:StartFlightRecording=duration=60s,filename=myrecording.jfr -jar app.jar 应用场景:启用Java Flight Recorder进行性能分析记录,生成JFR文件供后续分析。

系统属性传递

命令示例:java -Dlog4j.configurationFile=/path/to/log4j2.xml -Duser.timezone=GMT+8 -jar app.jar 应用场景:设置日志配置文件和时区等系统属性。


典型组合场景

  1. 内存泄漏分析

    jmap -dump:live,format=b,file=heap.hprof <pid>
    jstack <pid> > thread_dump.txt
    

    生成堆转储和线程转储,结合MAT工具分析。

  2. GC调优监控

    jstat -gcutil <pid> 1s
    java -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -jar app.jar
    

    实时监控GC状态并调整G1垃圾回收器参数。

http://www.xdnf.cn/news/15743.html

相关文章:

  • Windows10笔记本电脑开启BIOS
  • (四)OpenCV——特征点检测与匹配
  • 6. 工程化实践类:《Webpack 5 性能优化全指南:从构建速度到输出质量》
  • Flutter状态管理篇之ChangeNotifier(一)
  • 使用 docker 安装 openldap
  • 板凳-------Mysql cookbook学习 (十二--------1)
  • 从零开始的云计算生活——第三十三天,关山阻隔,ELK日志分析
  • 【Leetcode】栈和队列算法题(逆波兰表达式、二叉树层序遍历、最小栈、栈的压入弹出序列)
  • MySQL详解一
  • Oracle 成本优化器(CBO)与数据库统计信息:核心原理与实践
  • 【前端】Power BI自动化指南:从API接入到Web嵌入
  • docker安装与简单项目上手
  • 使用docker安装、启动jenkins服务(mac系统)
  • 3D工业相机是什么?如何选择和使用它?
  • 如何构建一个基于大模型的实时对话3D数字人?
  • 3D Gaussian Splatting (3DGS) 从入门到精通:安装、训练与常见问题全解析
  • c++:类型转换函数
  • 【神经网络在MATLAB中是如何实现的?】
  • 什么是 M4A 和 WAV?这两种音频互转会导致音质发生变化吗
  • kimi故事提示词 + deepseekR1 文生图提示
  • 不同相机CMOS噪点对荧光计算的影响
  • day23——Java网络编程终极指南:从基础到实战,全面掌握CS/BS架构通信
  • 【RL强化学习】Policy-Based Reinforcement Learning 策略学习
  • 知网学术不端论文检测查重助手(Windows)
  • [MRCTF2020]PYWebsite
  • Kubernetes (k8s)环境重启Pod方式总结
  • 访问网页的全过程笔记
  • SenseGlove力反馈手套:医疗、生产制造、军事模拟与远程机器人控制新革命
  • 游戏开发中防止“范围蔓延”
  • 部分排序算法的Java模拟实现(复习向,非0基础)