解析JDK14中的java tools简介

 更新时间:2020年04月29日 09:31:14   作者:flydean  
这篇文章主要介绍了JDK14中的java tools简介,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1.1 JDK 14详细概述

JDK 8 已经在 2014年 3月 18日正式可用,JDK 8作为长期支持(Long-Term-Support)版本,距离现在已经 5年多时间过去了。5年时间里很多企业也都换上了 JDK 8,2018年09月25日作为下一个LTS的JDK版本:JDK 11也应运而生,Oracle表示会对JDK 11提供大力支持、长期支持。之后陆续发布了JDK 12 和JDK 13,JDK 14在 2020年 3月17日正式发布。

1.2 JDK 14总体概览

Oracle在2020年3月17日宣布Java 14(Oracle JDK 14)的全面上市。Java 14通过每六个月发布一次新功能,为企业和开发人员社区提供新的增强功能,继续了Oracle加快创新的承诺。最新的Java开发工具包(JDK)提供了新功能,其中包括两项备受期待的新预览功能–实例匹配的模式匹配(JEP 305)和记录(JEP 359),以及文本块的第二个预览(JEP 368)。此外,最新的Java版本增加了对switch表达式的Java语言支持,公开了用于持续监控JDK Flight Recorder数据的新API,将低延迟Z垃圾收集器的可用性扩展到了macOS和Windows,并在孵化器模块中添加了包装完备的Java应用程序和新的外部内存访问API,以安全,高效地访问Java堆外部的内存。

1.3 JDK 14官方计划

我们可以在openjdk官网中观察到JDK 14发布的详细官方计划和具体的新特性详情,地址如下:

https://openjdk.java.net/projects/jdk/14/

下面看下JDK14 java tools简介

故事发生了

在还没有IDE的时代,高手们还是通过记事本来编程。那时候能够写程序的都是牛人。能把程序写得好的更是牛人中的牛人。

秃头大叔的程序员形象就是在那个时候建立起来的。

还记得十几年前的那一个春天,微风不动,太阳都羞红了脸。因为那时候的我还在一个javac,一个java的编译,运行着java程序。

虽然效率低下,但是看着我跑起来的一个又一个hello world,心里充满了欢喜。

惊喜过后便是失落,java实在太难用了太复杂了,我还是回去写C语言吧。

直到有一天,有人向我推荐了eclipse,它就像是一道闪电照亮了我前进的方向。从此什么javac,java都见鬼去吧,我只要eclipse。

很多年之后,我从eclipse转向了IDEA,开发工具越来越趁手,然后我已经差不多快忘记了java原来还提供了一系列的java tools供我们使用。

都说要勿忘初心,于是借着JDK14的发布,我又一次回顾了java tools提供的工具,居然有了惊喜的发现。

java tools简介

JDK14中提供了多达31中工具,惭愧的是,第一次看到它们我只认识其中的部分。士知耻而后勇,于是我奋发图强,终于在今天将它们全都认识了。

31一个工具,这里我先简单介绍一下,后续再针对复杂的,特别有用的工具做一个专门的说明。

以下排名仅按字母顺序,不代表任何个人观点

一个java的静态编译器,为编译好的java方法生成native代码。

jar包大家都很熟悉了,使用jar命令可以用来打包和解压jar文件。

jarsigner

jar包打完了,使用jarsigner来对jar包做签名和认证。

使用java可以运行java程序。

javac用来编译java文件,将文本文件编译成二进制的class文件。

javadoc

javadoc可以将代码中写的注释文档生成HTML页面供大家参考。如果你有看过JDK的源代码的话,可以看到源代码里面写了很多注释。大家可以学习一下。因为注释很重要。

java自带的反编译工具,可以将二进制的class文件反编译成为人类可读的代码。

这个反编译工具可能不够IDE自带的反编译工具强大。

这里的d代表的是diagnostic,通过这个命令可以对正在运行的JVM进行调试。

这是一个非常有用的调试工具,我们在后面的文章中会详细讲解。

jconsole

jconsole是一个GUI客户端,可以对现有的java程序进行管理。

他们的连接协议是JMX。不知道为什么国内的公司好像很少用到JMX。um…这个问题等我有时间了研究一下。

Java Debugger (JDB)是一个命令行的debug工具,提供了一系列的debug程序的功能。

jdeprscan

jdeprscan是一个分析工具,用来扫描jar或者class文件中的deprecated API。

jdeps是一个java class依赖的分析工具。

jfr是Java Flight Recorder的缩写,jfr是java应用程序的分析工具。它可以收集JVM在运行期间所产生的一系列事件,并生成文件和分析。

后面我们会用一篇文章详细讲解JFR。

jhsdb是一个分析工具,可以分析正在运行的java程序中,也可以分析coredump。

jinfo为特定的java进程生成运行时的java配置信息。

jjs用来运行Nashorn engine。

从JDK9之后,java已经模块化了。jlink可以将模块和他们的依赖组织起来,生成一个自定义的运行时环境。

jmap可以打印出某个java进程的堆信息。我们会在后面的文章中详细讲解。

jmod用来创建和解析JMOD文件。

jpackage

jpackage可以用来打包自运行的java程序。

列出机子上面的java进程。

jrunscript

启动一个命令行shell,这个shell支持交互和批处理模式。

一个可互动的java shell环境。

打印java stack信息,主要用在debug中。后面我们会详细讲解。

用于监控JVM的统计信息。

jstatd是一个RMI服务程序,用来远程监控JVM。

keytool

生成和管理密钥,证书的工具。

用来生成远程方法调用的stub和skeleton类。

启动一个守护进程,允许在JVM中注册和实例化对象。

rmiregistry

创建一个RMI对象的注册器。

serialver

为一个或多个class生成serialVersionUID。

以上的31个工具就是JDK14提供的。后面我们会挑其中几个对我们的程序调试和定位问题非常有用的几个工具来讲解。

到此这篇关于解析JDK14中的java tools简介的文章就介绍到这了,更多相关JDK14 java tools简介内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 通过Java添加Word文本框过程详解

    通过Java添加Word文本框过程详解

    这篇文章主要介绍了通过Java添加Word文本框过程详解,在Word中,文本框是指一种可移动、可调节大小的文字或图形容器。我们可以向文本框中添加文字、图片、表格等对象,下面,将通过Java编程来实现添加以上对象到Word文本框,需要的朋友可以参考下
    2019-07-07
  • Java数据结构之链表的增删查改详解

    Java数据结构之链表的增删查改详解

    今天带大家来学习Java链表的增删改查的相关知识,文中有非常详细的代码示例,对正在学习Java的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-05-05
  • SpringMvc配置静态资源访问路径的实现

    SpringMvc配置静态资源访问路径的实现

    本文主要介绍了SpringMvc配置静态资源访问路径的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • java正则表达式匹配所有数字的案例

    java正则表达式匹配所有数字的案例

    这篇文章主要介绍了java正则表达式匹配所有数字的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Java设计模式中责任链模式详解

    Java设计模式中责任链模式详解

    责任链模式是将链中的每一个节点看做是一个对象,每个节点处理的请求均不相同,且内部自动维护下一个节点对象,当一个请求从链式的首段发出时,会沿着链的路径依次传递给每一个节点对象。本文将通过示例和大家详细聊聊责任链模式,需要的可以参考一下
    2022-11-11
  • java实现微博后台登录发送微博

    java实现微博后台登录发送微博

    这篇文章主要为大家详细介绍了java实现微博后台登录发送微博的相关资料,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • Java 限制子类访问的方法分析

    Java 限制子类访问的方法分析

    这篇文章主要介绍了Java 限制子类访问的方法,结合实例形式分析了java类的继承与访问相关操作技巧与使用注意事项,需要的朋友可以参考下
    2019-09-09
  • 详解如何使用tldb数据库的java客户端

    详解如何使用tldb数据库的java客户端

    这篇文章主要为大家介绍了如何使用tldb数据库的java客户端过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • java中hashCode、equals的使用方法教程

    java中hashCode、equals的使用方法教程

    hashCode()和equals()定义在Object类中,这个类是所有java类的基类,所以所有的java类都继承这两个方法。下面这篇文章主要给大家介绍了关于java中hashCode、equals的使用方法,需要的朋友可以参考下。
    2017-12-12
  • Java利用redis zset实现延时任务详解

    Java利用redis zset实现延时任务详解

    zset作为redis的有序集合数据结构存在,排序的依据就是score。本文就将利用zset score这个排序的这个特性,来实现延时任务,感兴趣的可以了解一下
    2022-08-08

最新评论