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

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.dtcms.com/a/284594.html

相关文章:

  • 中兴B860AV5.1-M2_S905L3SB最新完美版线刷包 解决指示灯异常问题
  • 微服务网站开发学习路线与RuoYi-Cloud实战指南
  • Spring Boot 监控:AOP vs Filter vs Java Agent
  • BI 数据可视化平台建设(3)—首页性能提升实践
  • ThinkPHP8 Windows开发全流程:从搭建到上线
  • 【Android代码】绘本翻页时通过AI识别,自动通过手机/pad朗读绘本
  • MTK平台--如何查询手机连接的TX速率和带宽
  • Android本地浏览PDF(Android PDF.js 简要学习手册)
  • [MRCTF2020]PYWebsite
  • 大语言模型任务分解与汇总:从认知瓶颈到系统化解决方案
  • ubuntu基础搭建
  • 学习笔记(39):结合生活案例,介绍 10 种常见模型
  • Matplotlib 轴标题与刻度字号调整方法
  • 渗透总结一
  • docker中 contriner 和 images 什么关系
  • Oracle 成本优化器(CBO)与数据库统计信息:核心原理与实践
  • 深度学习计算图学习路线
  • Python获取网页乱码问题终极解决方案 | Python爬虫编码处理指南
  • UE5 lumen
  • 《Oracle SQL:使用 RTRIM 和 TO_CHAR 函数格式化数字并移除多余小数点》
  • 解读PLM系统软件在制造企业研发管理中的应用
  • 【神经网络在MATLAB中是如何实现的?】
  • 解锁Windows下Composer切换PHP版本的奥秘
  • 老牌支付品牌钱如潮入局本地生活抽佣系统,行业竞争加剧
  • Linux Shell脚本
  • linux端口监听命令
  • 支付宝智能助理用户会话实时统计:Flink定时器与状态管理实战解析
  • 全面升级!WizTelemetry 可观测平台 2.0 深度解析:打造云原生时代的智能可观测平台
  • cve-2012-0809 sudo格式化字符串漏洞分析及利用
  • TASK01【datawhale组队学习】地瓜机器人具身智能概述