2

每个开发人员都应该知道的 Java 命令行界面工具

 2 years ago
source link: https://developer.51cto.com/article/702028.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
每个开发人员都应该知道的 Java 命令行界面工具-51CTO.COM
每个开发人员都应该知道的 Java 命令行界面工具
作者:粤嵌教育 2022-02-21 00:11:24
在基于 IDE 的开发世界中,程序员很容易脱离 JDK 和使他们的应用程序工作的底层技术。

下面列出了开发人员需要掌握的五个比较有用的 Java 命令行工具,才能成为他们团队的高效成员。

b573f1f415cf49841719653ecec8c0e9c9aa39.jpg

1. Java编译器:javac

javac 实用程序是你可以在 JDK 的 bin 目录中找到的最重要的命令行界面 (CLI) 工具。这是 Java 编译器,无论你使用 Maven、Gradle、SpringSource IDE 还是 Jenkins CI,在编译 Java 源代码时都会使用这个 JDK 工具。

但是,如果所有流行的构建框架都只是抽象了它的使用,为什么开发人员需要了解 javac 命令行程序呢?好吧,当项目的构建和部署管道中出现难以诊断的问题时,故障排除从工具链中最基本的组件开始,而这通常是编译代码的地方。当构建横向运行时,开发人员通常需要将所有花哨的打包和部署工具放在一边,并恢复到首要原则。这意味着使用 JDK 的 javac 实用程序编译代码。

2. Java 分析器:javap

你可以将 Java 命令行工具 javap 视为对 javac 实用程序的补充。 当 javac 编译代码时,javap 实用程序反转该编译并提供有关已编译类的信息,例如它声明的变量类型,以及它提供的各种方法和 API。 javap JDK 工具不会将已编译的类完全返回为其原始源代码格式,但它确实提供了有关原始源代码设计方式的见解。

javap命令行程序也可以用来查看用于创建类文件的编译器版本,这对故障排除很有帮助。 此外,javap 工具可以向你显示编译器为类创建的字节码,并提供有关组件如何执行其逻辑的见解。

3. Java 统计聚合器:jstat

你的应用程序是否遇到运行时问题?为什么不打开 jstat 实用程序?

两个最常调整的 Java 虚拟机 (JVM) 参数是堆大小和 Java 运行时环境 (JRE) 的垃圾收集算法。这个统计监控 Java CLI 工具提供了类加载器指标、即时编译器如何工作的见解,以及最重要的是,关于垃圾收集发生频率的数据。有了这些统计数据,你就可以就如何配置 JVM 以获得最佳性能做出明智的决定。

4.Java依赖管理器:jdeps

使用 Java 12,将不允许编译任何引用内部 API 的代码库。在不久的将来,即使链接到引用内部 API 的已编译组件也会触发构建失败。如果你想知道任何现有代码是否使用或引用了内部 Java API,jdeps Java CLI 应用程序会告诉你。此外,如果它确实在你的源代码中识别出对内部 API 的引用,它通常会提供有关更新的、更可取的 API 的建议,你可以使用它来替换坏的 API。

5. Java 归档实用程序:jar

创建压缩归档文件并没有什么特别神奇的地方,这是 Java jar 实用程序的主要用途。但是这个 Java 命令行工具还有其他一些有用的特性。除了能够创建压缩的 zip 文件外,jar 实用程序还可用于指定可执行或嵌入式 JAR 文件的入口点、配置在 JRE 上运行时使用的选项,甚至记录 JAR 文件的内部内容。当你想将一个版本的代码版本与另一个版本进行比较时,Jar 会很有用。当然,除了能够压缩文件之外,JDK 工具 jar 还可以用于提取归档文件的内容。

JDK 的 bin 目录中还打包了许多其他有趣的 Java 命令行界面工具,研究它们并探索它们的实用程序符合每个 Java 开发人员的较大利益。但是这些前面提到的 Java 命令行工具——即 javac、javap、jstat、jdeps 和 jar——是认真的软件开发人员需要知道的五个。

责任编辑:华轩 来源: 今日头条
zanpc.bd208a1.pngzanpchover.fdd60ba.png
weixin.23cd8b3.png 分享到微信
weibo.16d6b4f.png 分享到微博

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK