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.pswp.cn/web/89318.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/89318.shtml
英文地址,請注明出處:http://en.pswp.cn/web/89318.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Llama 2:開放基礎模型與微調聊天模型

溫馨提示&#xff1a; 本篇文章已同步至"AI專題精講" Llama 2&#xff1a;開放基礎模型與微調聊天模型 摘要 在本研究中&#xff0c;我們開發并發布了 Llama 2&#xff0c;一組預訓練和微調的大型語言模型&#xff08;LLMs&#xff09;&#xff0c;其規模從 70 億參…

ThinkPHP 8 在 Apache 下啟用偽靜態

ThinkPHP 8 在 Apache 下啟用偽靜態&#xff0c;需要配置 .htaccess 文件并確保 Apache 支持 URL 重寫。以下是詳細設置步驟&#xff1a;1. 啟用 Apache 重寫模塊首先確保 Apache 的 mod_rewrite 模塊已啟用。編輯 Apache 配置文件&#xff08;通常是 /etc/apache2/apache2.con…

Android開發中Retrofit使用方法與底層原理詳解

Retrofit 是 Android 開發中一個 類型安全、基于注解、高度解耦 的 RESTful HTTP 客戶端庫&#xff0c;由 Square 公司開發。它極大地簡化了 Android 應用與 Web 服務進行網絡交互的過程。 核心價值&#xff1a; 聲明式 API 定義&#xff1a; 使用 Java/Kotlin 接口和注解描述 …

基于FPGA的IIC控制EEPROM讀寫(2)

基于FPGA的IIC控制EEPROM讀寫 文章目錄基于FPGA的IIC控制EEPROM讀寫一、EEPROM簡介二、代碼實現——個人理解1、狀態機2、仿真效果3、上板驗證4、代碼top.viic_master.vuart三、代碼實現——復用性較高的IIC模塊1、框架設計2、狀態機設計3、仿真效果4、上板驗證5、代碼top.viic…

C# 界面程序在23H2型號系統中無法退出

20250716記錄 環境&#xff1a;c# winform問題描述&#xff1a;主界面退出直接使用了Environment.Exit(0); 程序假死&#xff0c;無法關閉解決措施&#xff1a;//使用 this.Close();以下代碼目標&#xff1a;執行完程序自身后&#xff0c;刪除指定文件&#xff08;可用于程序文…

Kafka——集群核心參數配置

引言在分布式系統中&#xff0c;Kafka 憑借其高吞吐量、低延遲和強大的擴展性&#xff0c;成為數據管道和流處理的首選解決方案。然而&#xff0c;要充分發揮 Kafka 的性能和穩定性&#xff0c;正確配置集群參數至關重要。為什么參數配置如此重要&#xff1f;Kafka 的參數配置直…

單臂路由實現VLAN互通實驗

實驗拓撲圖實驗需求&#xff1a;按照圖示為 PC3 和 PC4 配置 IP 地址和網關PC3 屬于 Vlan10&#xff0c;PC4 屬于 Vlan20&#xff0c;配置單臂路由實現 Vlan10 和 Vlan20 三層互通PC3 和 PC4 可以互通實驗步驟&#xff1a;1.PC 配置 IP 地址2.PC3 屬于 Vlan10&#xff0c;PC4 屬…

基于漸進式遷移學習網絡(PTLN)?的小樣本故障診斷模型

目錄 一、研究背景與挑戰? ?二、創新方法:漸進式遷移學習網絡(PTLN)?? ?1. 核心架構?編輯 ?2. 訓練優化? 三、核心代碼 四、實驗結果與優勢? ?1. 數據集? ?2. 性能對比? ?3. 關鍵驗證? 五、工程價值與未來方向? 六、補充信息? 一、研究背景與挑…

網絡原理 —— HTTP

通過網絡初識&#xff0c;我們認識了網絡的協議棧&#xff0c;TCP/IP 分為五層&#xff1a;應用層&#xff0c;傳輸層&#xff0c;網絡層&#xff0c;數據鏈路層&#xff0c;物理層。也介紹了其中的關鍵協議。而這些協議的理解&#xff0c;是我們寫網絡代碼的基礎。 應用層&…

docker--安裝--原理

安裝 鏈接 啟動之后&#xff0c;docker狀態查看&#xff1a; sudo systemctl status docker 添加普通用戶到docker用戶組&#xff1a; sudo usermod -aG docker $USER# 重啟或者使用以下命令刷新組權限&#xff1a;newgrp docker 原理

Java并發第一篇(從零開始:一文讀懂Java并發編程核心基礎)

從零開始&#xff1a;一文讀懂Java并發編程核心基礎一. 為什么需要并發編程&#xff1f;二. 并發編程的“另一面”&#xff1a;挑戰與代價2.1 頻繁的上下文切換2.2 線程安全問題&#xff08;如&#xff1a;死鎖&#xff09;三. 夯實基礎&#xff1a;必須掌握的核心概念與操作3.…

【刪庫跑路】一次刪除pip的所有第三方庫

進入命令行&#xff0c;先list看下庫存pip list導出所有的第三方庫至一文件列表pip freeze >requirements.txt按照列表卸載所有庫pip uninstall -r requirements.txt -y再list看下&#xff0c;可見庫存已清空

python 【技術面試題和HR面試題】?列表操作、條件判斷、循環、函數定義編程題

1.技術面試題 &#xff08;1&#xff09;解釋Linux中的進程、線程和守護進程的概念&#xff0c;以及如何管理它們&#xff1f; 答&#xff1a; 進程 概念&#xff1a;程序運行的實例&#xff0c;有獨立資源&#xff08;如內存&#xff09;&#xff0c;是系統調度的基本單位。 管…

Debian 12中利用dpkg命令安裝MariaDB 11.8.2

MariaDB 11.8解決了2038問題&#xff0c;即在32位系統中將timestamp從2038-01-19 03:14:07 UTC擴展到2106-02-07 06:28:15 UTC&#xff0c;向后延長了68年。由于寫此文時Debian 12的源中還沒有MariaDB 11.8,采用源碼編譯又太費時&#xff0c;可用二進制碼或dpkg安裝 .下面簡要記…

Go語言高并發聊天室(三):性能優化與壓力測試

Go語言高并發聊天室&#xff08;三&#xff09;&#xff1a;性能優化與壓力測試 &#x1f3af; 本篇目標 在前兩篇文章中&#xff0c;我們完成了聊天室的基礎功能。本篇將深入性能優化&#xff0c;實現真正的高并發&#xff1a; &#x1f50d; 性能瓶頸分析? 關鍵優化技術&…

【leetcode】852. 山脈數組的封頂索引

文章目錄題目題解1. 遍歷2. 二分查找題目 852. 山脈數組的封頂索引 給定一個長度為 n 的整數 山脈 數組 arr &#xff0c;其中的值遞增到一個 峰值元素 然后遞減。 返回峰值元素的下標。 你必須設計并實現時間復雜度為 O(log(n)) 的解決方案。 示例 1&#xff1a; 輸入&a…

Java期末考試準備

文章目錄Java期末考試準備一、Java的輸入.next()輸入.nextLine()輸入區別補充二、Java的輸出三、類中常寫方法toString()equals()其他四、容器/數組五、繼承六、靜態屬性、方法.七、抽象類八、接口九、初始化模塊十、泛型考完結束語Java學習歷程注:這篇文章本來是寫給同學的&am…

飛算JavaAI進階:重塑Java開發范式的AI革命

引言&#xff1a;當代碼生成進入"自動駕駛"時代 在2025年的Java開發領域&#xff0c;一場由AI驅動的革命正在重塑傳統開發范式。當GitHub Copilot還在通過代碼補全提升效率時&#xff0c;飛算JavaAI已實現從需求分析到完整工程代碼生成的"端到端"閉環。這款…

如何在銀河麒麟桌面系統中啟用 sudo 密碼的星號反饋

引文 我們在銀河麒麟桌面操作系統上使用 sudo 命令時&#xff0c;都遇到過這樣的困擾&#xff1a;輸入密碼時光標一動不動&#xff0c;屏幕上沒有任何提示&#xff08;沒有星號 *&#xff0c;也沒有任何字符&#xff09;&#xff1f;就像在黑暗中摸索鑰匙孔一樣&#xff0c;心里…

二刷 黑馬點評 秒殺優化

優化邏輯 把耗時較短的邏輯判斷放入redsi中&#xff0c;比如庫存是否足夠以及是否一人一單&#xff0c;只要這樣的邏輯完成&#xff0c;就代表一定能下單成功&#xff0c;我們就將結果返回給用戶&#xff0c;然后我們再開一個線程慢慢執行隊列中的信息 問題&#xff1a; 如何快…