最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一些常用Java命令及應(yīng)用總結(jié)

 更新時間:2025年04月24日 09:26:17   作者:foolishboy_w  
這篇文章主要介紹了一些常用Java命令及應(yīng)用的相關(guān)資料,詳細講解了如何使用這些命令來排查Cpu和內(nèi)存飆高的問題,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

一、Java常用命令

Java命令在我們的日常工作中還是挺重要的,以下截圖是JDK自帶的一些Java命令,本文將簡單介紹其中幾個最常用的。

1、javac

javac是Java編譯器命令,也是最基礎(chǔ)的命令,它用于將Java源代碼文件(.java)編譯為字節(jié)碼文件(.class)。用法如下:

javac HelloWorld.java

2、jar

jar是Java歸檔工具命令,用于打包Java類文件和其他相關(guān)文件到同一個Jar文件中或者解壓縮一個jar包。用法如下:

jar {c t x u }[ v f m e 0 M i ][-C 目錄]文件名...

其中{c t x u}這四個參數(shù)必須選其一。[v f m e 0 M i ]是可選參數(shù),文件名也是必須的。

-c 創(chuàng)建一個jar包
-t 顯示jar中的內(nèi)容列表
-x 解壓jar包
-u 添加文件到j(luò)ar包中
-f 指定jar包的文件名
-v 生成詳細的報造,并輸出至標準設(shè)備
-m 指定manifest.mf文件.(manifest.mf文件中可以對jar包及其中的內(nèi)容作一些一設(shè)置)
-0 產(chǎn)生jar包時不對其中的內(nèi)容進行壓縮處理
-M 不產(chǎn)生所有文件的清單文件(Manifest.mf)。這個參數(shù)與忽略掉-m參數(shù)的設(shè)置
-i 為指定的jar文件創(chuàng)建索引文件
-C 表示轉(zhuǎn)到相應(yīng)的目錄下執(zhí)行jar命令,相當于cd到那個目錄,然后不帶-C執(zhí)行jar命令

3、java

java是Java運行命令,用于執(zhí)行Java字節(jié)碼文件。用法如下:

java HelloWorld
java -jar HelloWorld.jar	--運行HelloWorld.jar

4、javadoc

javadoc是Java文檔生成命令,用于從Java源代碼文件中提取注釋和生成HTML格式的API文檔。用法如下:

javadoc [options] [packagenames] [sourcefiles] [@files]

常用參數(shù)如下:
-d <directory>: 指定輸出目錄。
-sourcepath <pathlist>: 指定查找源文件的位置。
-classpath <pathlist>: 指定查找用戶類文件的位置。
-link <url>: 添加外部鏈接。
-version: 顯示版本信息。
-public: 僅顯示 public 類和成員。
-protected: 顯示 protected/public 類和成員(默認值)。
-package: 顯示 package/protected/public 類和成員。
-private: 顯示所有類和成員。
-help: 顯示命令行選項并退出。
-doclet <class>: 通過替代 doclet 生成輸出。
-docletpath <path>: 指定查找 doclet 類文件的位置。
-exclude <pkglist>: 指定要排除的程序包列表。
-subpackages <subpkglist>: 指定要遞歸加載的子程序包。
-bootclasspath <pathlist>: 覆蓋由引導(dǎo)類加載器所加載的類文件位置。
-source <release>: 提供與指定發(fā)行版的源兼容性。
-extdirs <dirlist>: 覆蓋所安裝擴展的位置。
-verbose: 輸出有關(guān) Javadoc 正在執(zhí)行的操作的信息。
-locale <name>: 要使用的區(qū)域設(shè)置。
-encoding <name>: 源文件編碼名稱。
-quiet: 不顯示狀態(tài)消息。
-J<flag>: 直接將 <flag> 傳遞到運行時系統(tǒng)。
-X: 輸出非標準選項的提要?

5、javap

javap是Java類文件反匯編命令,用于顯示Java字節(jié)碼文件中的信息。用法如下:

javap [options] 類名

常用參數(shù)如下:
-help:顯示幫助信息。
-version:顯示版本信息。
-v 或 -verbose:輸出附加信息。
-l:輸出行號和本地變量表。
-public:僅顯示公共類和成員。
-protected:顯示受保護的/公共類和成員。
-package:顯示程序包/受保護的/公共類 和成員(默認)。
-private:顯示所有類和成員。
-c:對代碼進行反匯編。
-s:輸出內(nèi)部類型簽名。
-sysinfo:顯示正在處理的類的系統(tǒng)信息(路徑、大小、日期、MD5散列)。
-constants:顯示最終常量。
-classpath <path>:指定查找用戶類文件的位置。
-bootclasspath <path>:覆蓋引導(dǎo)類文件的位置

6、jps

jps用于列出JVM進程的信息。用法如下:

jps [options] [hostid]

常用參數(shù)如下:
-l:顯示完整的包名和應(yīng)用程序主類名。
-m:顯示完整的包名、應(yīng)用程序主類名和虛擬機的啟動參數(shù)。
-v:顯示虛擬機的啟動參數(shù)和JVM命令行選項。
-q:只顯示進程ID,不顯示類名和主類名。

7、jstack

jstack用于生成Java應(yīng)用程序的線程堆棧跟蹤信息,常用來查看每個線程的狀態(tài)、調(diào)用棧及相關(guān)信息。用法如下:

jstack [option] pid

常用參數(shù)如下:
-F:當普通jstack命令無法連接到JVM時,強制生成線程快照。使用該選項可能會終止目標JVM。
-l:顯示鎖的附加信息,包括當前線程持有的鎖以及等待的鎖。
-m:顯示混合模式的線程堆棧,即Java調(diào)用棧和本地C/C++代碼棧。如果懷疑本地方法(如JNI調(diào)用)可能導(dǎo)致了問題,可以使用此選項。

8、jmap

jmap命令用于生成Java堆轉(zhuǎn)儲文件并查看對象內(nèi)存占用情況的工具,常用來排查內(nèi)存泄漏、分析內(nèi)存占用問題以及分析JVM的垃圾收集器行為。用法如下:

jmap [options] <pid>

常用參數(shù)如下:
-heap:顯示Java堆內(nèi)存的詳細信息,包括堆大小、使用情況和垃圾收集器的相關(guān)信息。
-histo[:live]:顯示堆中對象的統(tǒng)計信息,如果指定了live子選項,則只計算活動的對象。
-clstats:打印類加載信息。
-finalizerinfo:顯示在F-Queue隊列等待Finalizer線程執(zhí)行finalizer方法的對象。
-dump:<dump-options>:生成堆轉(zhuǎn)儲快照,<dump-options>可以指定輸出格式和文件路徑。

示例:
jmap -dump:live,format=b,file=<filename> <pid>		--生成heap dump
jmap -histo[:live] <pid>		--查看對象歷史統(tǒng)計信息

二、Java命令應(yīng)用

Java命令可以用來排查Cpu、內(nèi)存飚高問題。以下為Cpu飚高的具體排查步驟:

1、使用ps或jps命令找到j(luò)ava進程pid

ps -ef|grep java
jps

2、使用top命令查看Cpu/內(nèi)存占用最高的線程id

top -Hp pid

3、使用jstack命令生成線程的堆棧信息文件

jstack pid > bak.stack

4、使用printf命令將線程id轉(zhuǎn)換為十六進制

 printf "%x\n" tid

5、查看生成的bak.stack堆棧文件,找到十六進制tid對應(yīng)的內(nèi)容

less bak.stack

6、分析生成的堆棧信息,查找占用CPU過高的線程對應(yīng)的代碼是做什么業(yè)務(wù)邏輯。在分析堆棧信息時,也可以查看線程狀態(tài)(如BLOCKED, WAITING, TIMED_WAITING, RUNNABLE),確定線程是在等待資源、在執(zhí)行同步塊還是在進行IO操作。根據(jù)這些信息,結(jié)合代碼邏輯,進行相應(yīng)的優(yōu)化。

ack堆棧文件,找到十六進制tid對應(yīng)的內(nèi)容

less bak.stack

6、分析生成的堆棧信息,查找占用CPU過高的線程對應(yīng)的代碼是做什么業(yè)務(wù)邏輯。在分析堆棧信息時,也可以查看線程狀態(tài)(如BLOCKED, WAITING, TIMED_WAITING, RUNNABLE),確定線程是在等待資源、在執(zhí)行同步塊還是在進行IO操作。根據(jù)這些信息,結(jié)合代碼邏輯,進行相應(yīng)的優(yōu)化。

(PS:當線上出現(xiàn)問題時,首先要做的是業(yè)務(wù)快速止損恢復(fù),一般可以保留出現(xiàn)問題的實例,將流量切到新的健康的實例上,業(yè)務(wù)恢復(fù)之后再查看出現(xiàn)問題的實例,查出根因)

總結(jié)

到此這篇關(guān)于一些常用Java命令及應(yīng)用的文章就介紹到這了,更多相關(guān)常用Java命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java操作redis實現(xiàn)增刪查改功能的方法示例

    Java操作redis實現(xiàn)增刪查改功能的方法示例

    這篇文章主要介紹了Java操作redis實現(xiàn)增刪查改功能的方法,涉及java操作redis數(shù)據(jù)庫的連接、設(shè)置、增刪改查、釋放資源等相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • 解決Eclipse中java文件的圖標變成空心J的問題

    解決Eclipse中java文件的圖標變成空心J的問題

    這篇文章主要介紹了解決Eclipse中java文件的圖標變成空心J的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • SpringBoot中使用Redis案例詳解

    SpringBoot中使用Redis案例詳解

    文章主要介紹了在SpringBoot項目中的基本配置和文件結(jié)構(gòu),通過引入案例給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-10-10
  • javaCV視頻處理之提取人像視頻

    javaCV視頻處理之提取人像視頻

    這篇文章主要介紹了利用JavaCV實現(xiàn)提取視頻中的人像并保存為視頻,文中的示例代碼講解詳細,對我們學(xué)習(xí)JavaCV有一定的幫助,需要的可以參考一下
    2021-12-12
  • Java中字符數(shù)組和字符串與StringBuilder和字符串轉(zhuǎn)換的講解

    Java中字符數(shù)組和字符串與StringBuilder和字符串轉(zhuǎn)換的講解

    今天小編就為大家分享一篇關(guān)于Java中字符數(shù)組和字符串與StringBuilder和字符串轉(zhuǎn)換的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • JAVA Frame 窗體背景圖片,首位相接滾動代碼實例

    JAVA Frame 窗體背景圖片,首位相接滾動代碼實例

    這篇文章主要介紹了JAVA Frame 窗體背景圖片,首位相接滾動代碼示例,需要的朋友可以參考下復(fù)制代碼
    2017-04-04
  • SpringBoot集成MongoDB的實現(xiàn)

    SpringBoot集成MongoDB的實現(xiàn)

    本文主要介紹了SpringBoot集成MongoDB的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Java之Set String List互轉(zhuǎn)方式

    Java之Set String List互轉(zhuǎn)方式

    文章總結(jié)了Java中Set與String以及List之間的相互轉(zhuǎn)換方法,通過代碼示例展示了如何將Set轉(zhuǎn)為List,再將List轉(zhuǎn)為Set,以及如何將List轉(zhuǎn)為String,最后又將String轉(zhuǎn)為List的過程
    2026-04-04
  • Java中synchronized?的4個優(yōu)化技巧

    Java中synchronized?的4個優(yōu)化技巧

    本文主要介紹了Java中synchronized的4個優(yōu)化技巧,synchronized在JDK?1.5?時性能是比較低的,然而在后續(xù)的版本中經(jīng)過各種優(yōu)化迭代,它的性能也得到了前所未有的提升,下文更多相關(guān)資料需要的小伙伴可以參考一下
    2022-05-05
  • 最簡單的Spring Cloud教程第一篇:服務(wù)的注冊與發(fā)現(xiàn)(Eureka)

    最簡單的Spring Cloud教程第一篇:服務(wù)的注冊與發(fā)現(xiàn)(Eureka)

    這篇文章主要給大家介紹了關(guān)于Spring Cloud服務(wù)的注冊與發(fā)現(xiàn)(Eureka)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用spring cloud具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-08-08

最新評論

梁平县| 东明县| 象山县| 大埔县| 交城县| 离岛区| 和政县| 金川县| 富锦市| 南充市| 肃北| 清远市| 平阴县| 富源县| 固原市| 东兰县| 苍溪县| 东莞市| 越西县| 什邡市| 平昌县| 遂溪县| 秦皇岛市| 凤凰县| 龙口市| 普兰店市| 克东县| 呼伦贝尔市| 磐安县| 漠河县| 蒙自县| 天长市| 榆社县| 津市市| 鄂托克旗| 乡宁县| 习水县| 肥城市| 阿拉尔市| 丹东市| 鄢陵县|