在基于 IDE 的開發(fā)世界中,程序員很容易脫離 JDK
和使他們的應(yīng)用程序工作的底層技術(shù)。下面列出了開發(fā)人員需要掌握的五個最有用的 Java
命令行工具,才能成為他們團隊的高效成員。感興趣的同學可以參加java培訓,可以學會更多的Java 命令行工具使用技巧。
1. Java編譯器:javac
javac 實用程序是你可以在 JDK 的 bin 目錄中找到的最重要的命令行界面 (CLI) 工具。這是 Java
編譯器,無論你使用 Maven、Gradle、SpringSource IDE 還是 Jenkins CI,在編譯 Java 源代碼時都會使用這個 JDK
工具。
但是,如果所有流行的構(gòu)建框架都只是抽象了它的使用,為什么開發(fā)人員需要了解 javac
命令行程序呢?好吧,當項目的構(gòu)建和部署管道中出現(xiàn)難以診斷的問題時,故障排除從工具鏈中最基本的組件開始,而這通常是編譯代碼的地方。當構(gòu)建橫向運行時,開發(fā)人員通常需要將所有花哨的打包和部署工具放在一邊,并恢復(fù)到第一原則。這意味著使用
JDK 的 javac 實用程序編譯代碼。
2. Java 分析器:javap
你可以將 Java 命令行工具 javap 視為對 javac 實用程序的補充。 當 javac 編譯代碼時,javap
實用程序反轉(zhuǎn)該編譯并提供有關(guān)已編譯類的信息,例如它聲明的變量類型,以及它提供的各種方法和 API。 javap JDK
工具不會將已編譯的類完全返回為其原始源代碼格式,但它確實提供了有關(guān)原始源代碼設(shè)計方式的見解。想要學習java更多知識和技能,可以考慮參加java培訓,有經(jīng)驗豐富的專業(yè)講師指導(dǎo)教學,有緊跟市場需求的實時課程,可以讓你快速掌握這門技術(shù),節(jié)約時間,少走彎路。
javap命令行程序也可以用來查看用于創(chuàng)建類文件的編譯器版本,這對故障排除很有幫助。 此外,javap
工具可以向你顯示編譯器為類創(chuàng)建的字節(jié)碼,并提供有關(guān)組件如何執(zhí)行其邏輯的見解。
3. Java 統(tǒng)計聚合器:jstat
你的應(yīng)用程序是否遇到運行時問題?為什么不打開 jstat 實用程序?
兩個最常調(diào)整的 Java 虛擬機 (JVM) 參數(shù)是堆大小和 Java 運行時環(huán)境 (JRE) 的垃圾收集算法。這個統(tǒng)計監(jiān)控
Java CLI 工具提供了類加載器指標、即時編譯器如何工作的見解,以及最重要的是,關(guān)于垃圾收集發(fā)生頻率的數(shù)據(jù)。有了這些統(tǒng)計數(shù)據(jù),你就可以就如何配置 JVM
以獲得最佳性能做出明智的決定。
4. Java依賴管理器:jdeps
使用 Java 12,將不允許編譯任何引用內(nèi)部 API 的代碼庫。在不久的將來,即使鏈接到引用內(nèi)部 API
的已編譯組件也會觸發(fā)構(gòu)建失敗。如果你想知道任何現(xiàn)有代碼是否使用或引用了內(nèi)部 Java API,jdeps Java CLI
應(yīng)用程序會告訴你。此外,如果它確實在你的源代碼中識別出對內(nèi)部 API 的引用,它通常會提供有關(guān)更新的、更可取的 API 的建議,你可以使用它來替換壞的
API。在java培訓中,也有關(guān)于java工具的學習,理論知識+實踐項目,雙管齊下,學以致用,讓你深入淺出地學習java。
5. Java 歸檔實用程序:jar
創(chuàng)建壓縮歸檔文件并沒有什么特別神奇的地方,這是 Java jar 實用程序的主要用途。但是這個 Java
命令行工具還有其他一些有用的特性。除了能夠創(chuàng)建壓縮的 zip 文件外,jar 實用程序還可用于指定可執(zhí)行或嵌入式 JAR 文件的入口點、配置在 JRE
上運行時使用的選項,甚至記錄 JAR 文件的內(nèi)部內(nèi)容。當你想將一個版本的代碼版本與另一個版本進行比較時,Jar 會很有用。當然,除了能夠壓縮文件之外,JDK
工具 jar 還可以用于提取歸檔文件的內(nèi)容。
JDK 的 bin 目錄中還打包了許多其他有趣的 Java 命令行界面工具,研究它們并探索它們的實用程序符合每個 Java
開發(fā)人員的最大利益。但是這些前面提到的 Java 命令行工具——即 javac、javap、jstat、jdeps 和
jar——是認真的軟件開發(fā)人員需要知道的五個。想學習java技術(shù)的同學,不妨報個Java培訓班,有明確清晰的學習路線,可以獲得快速提升。