Java JDK官方版是一个功能丰富的java编程语言开发工具。最新版的Java JDK支持C++ 14的特性,允许开发者在C++源代码中利用C++ 14提供的各种先进功能。此外,它还特别提供了关于如何将部分C++ 14特性应用于HotSpot虚拟机(VM)代码的指导。这使得Java JDK不仅是Java开发者的理想选择,也为那些需要在Java平台上使用C++ 14特性的开发者提供了支持。
相关推荐
相关软件 | 软件说明 | 下载地址 |
---|---|---|
Visual Basic |
简体中文企业版 |
查看 |
hbuilder |
标准版 |
查看 |
Sublime Text |
v3.3211 |
查看 |
Redis Desktop Manager |
v2021.4.0 |
查看 |
基本简介
Java JDK官方版是一个专门用于Java编程的语言构建应用程序和组件的开发环境,JDK内已经包括JRE环境,包含了Java运行环境、Java开发工具和Java基础类库源代码。在16版本中,新增了模式匹配允许程序中的通用逻辑,即从对象中提取组件,启用 C++ 14 语言功能,允许在C++ 源代码中使用C++ 14功能。
软件特色
1、Java JDK官方版用于运算符的模式匹配(该功能也在该软件的14/15 版本中实现了预览)。在 JDK上,模式匹配允许程序中的通用逻辑,即从对象中提取组件,可以更简洁、更安全地表达.instanceof 运算符。
2、提供用于打包独立的 Java应用程序 jpackage 工具。最初作为14 中的孵化工具,jpackage在15中仍然处于孵化期。预计到本次版本中,jpackage 将会进入生产环境中,支持本地包格式,并为用户提供流畅的安装体验,以及允许在打包时指定启动时间参数。格式包括 Windows 上的 msi 和 exe、 MacOs 上的 pkg 和 dmg、以及 Linux 上的 deb 和 rpm 。该工具可以直接从命令行调用,也可以以编程方式调用。新的打包工具解决了许多 Java 应用程序需要以一流的方式安装在本机平台上,而不是放置在类路径或模块路径上等问题。
3、源代码存储库从 Mercurial 迁移到 Git。推动这项工作是借助版本控制系统元数据和可用工具及托管方面的优势。
4、借助 JEP 369,托管平台迁移到 GitHub。在今年 9 月 5 日,Mercurial和沙盒向 Git、GitHub 和 Skara 的过渡工作已实现。
5、弹性元空间功能,它将可以更迅速地将未使用的 HotSpot VM 类元数据(元空间)内存返回到操作系统,减少元空间占用空间并简化元空间代码以降低维护成本。
6、启用 C++ 14 语言功能,允许在C++ 源代码中使用C++ 14功能,并提供有关部分功能可用于 HotSpot VM 代码的特定指导。
7、孵化器阶段的向量 API,其中软件将安装一个孵化器模块,用于表示编译为支持的 CPU 体系结构上的最佳矢量硬件指令的矢量计算,以实现与等效标量计算更高的性能。
功能介绍
1、可执行文件
(在bin/子目录中)Java运行时环境(JRE)的实现。JRE包括Java虚拟机(JVM™),类库和其他文件,这些文件支持以Java编程语言编写的程序的执行。该目录还包括工具和实用程序,可帮助您开发,执行,调试和记录以Java编程语言编写的程序。
2、配置文件
(在conf/子目录中)包含用户可配置选项的文件。可以编辑此目录中的文件,以更改JDK的访问权限,配置安全算法并设置Java密码学扩展策略文件,这些文件可用于限制JDK的加密强度。
3、C头文件
(在include/子目录中)C语言头文件,Java JDK 16官方版支持使用Java本机接口和Java虚拟机(JVM)调试器接口进行本机代码编程。
4、编译的Java模块
(在jmods/子目录中)jlink用于创建自定义运行时的编译模块。
5、版权和许可文件
(在legal/子目录中)每个模块的许可和版权文件。将第三方通知包含为.md(markdown)文件。
6、其他库
(在lib/子目录中)JDK所需的其他类库和支持文件。这些文件不供外部使用。
7、组态
配置JRE或JDK不被视为出于重新分发目的的修改。
您可以通过下修改文件配置软件conf/目录%的Java平台标准版(Java SE)文档,包括选择一个或下创建自己的Java加密扩展策略文件
conf/security/policy。一旦选择或创建自己的文件,就不需要包括其他策略文件。
使用方法
一、在本站下载并安装JDK16官方版,一直下一步即可。
二、设置环境变量
1、系统→设置→关于→高级系统设置→环境变量
2、新建环境变量
- 变量名:JAVA_HOME
变量值(绝对路径):D:Javajdk-16
3、新建环境变量
- 变量名:PATH
变量值(相对路径):%JAVA_HOME%bin
变量值(相对路径):%JAVA_HOME%jrebin
4、新建环境变量
- 变量名:CLASSPATH
变量值:%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar
5、设置完成保存
三、验证是否配置完成
1、打开cmd输入javac -version
2、可以看见已经配置成功
更新日志
1、语言增强功能首次在JDK 14中引入,在JDK 16中完成
JEP 394:instanceof的模式匹配–通过为instanceof运算符进行模式匹配来增强Java编程语言。
JEP 395:记录–通过记录增强Java编程语言,记录是充当不变数据透明载体的类。记录可以被视为名义元组。
2、提高开发人员生产力的新工具
JEP 392:打包工具–提供jpackage工具,用于打包自包含的Java应用程序。
3、改进的内存管理以提高性能
JEP 387:弹性元空间–更快地将未使用的HotSpot类元数据(即,元空间)内存返回给操作系统,减少元空间的占用空间,并简化元空间代码,以降低维护成本。
JEP 376:ZGC:并行线程堆栈处理–将ZGC线程堆栈处理从安全点移至并发阶段。这项工作消除了允许并发堆栈处理的最后一个显着瓶颈。
4、改进的网络以提高开发人员的生产力和灵活性
JEP 380:UNIX域套接字通道–将对主要UNIX平台和Windows通用的UNIX域套接字的所有功能的支持添加到java.nio.channels包中的套接字通道和服务器套接字通道API。UNIX域套接字用于同一主机上的进程间通信(IPC)。它们在大多数方面与TCP / IP套接字类似,不同之处在于它们是通过文件系统路径名而不是Internet协议(IP)地址和端口号来寻址的。
5、解决未来不兼容的代码
JEP 396:默认情况下强烈封装JDK内部–在JDK 9中,我们强烈封装了新的内部API元素,从而限制了对它们的访问。但是,作为迁移的辅助手段,JDK 9故意选择在运行时不强烈封装JDK 8中存在的软件包的内容。JDK16默认情况下封装了JDK的大多数内部元素(关键内部API除外),从而加强了此约束。例如sun.misc.Unsafe。最终用户仍然可以选择自JDK 9以来默认使用的宽松的强封装。这将鼓励开发人员从使用内部元素迁移到使用标准API,以便他们和他们的用户都可以毫不费力地升级到将来的Java版本。
JEP 390:基于值的类的警告–将原始包装器类指定为基于值的类,并弃用其构造函数以进行删除,从而提示新的弃用警告。提供有关在Java平台中不正确尝试在任何基于值的类的实例上进行同步的警告。
6、孵化和预览功能
JEP 338:矢量API(孵化器) –提供孵化器模块jdk.incubator.vector的初始迭代,以表达可在运行时可靠地编译为支持的CPU架构上的最佳矢量硬件指令的矢量计算。
JEP 389:外部链接程序API(孵化器) –引入了API,该API提供了对本地代码的静态类型的纯Java访问。
JEP 393:外部存储器访问API(第三孵化器) –引入了API,以允许Java程序安全有效地访问Java堆之外的外部存储器。
JEP 397:密封类(第二预览) –通过密封类和接口增强了Java编程语言。密封的类和接口限制可以扩展或实现它们的其他类或接口。
7、OpenJDK贡献者的改进
JEP 347:启用C ++ 14语言功能(在JDK源代码中) –允许在JDK C ++源代码中使用C ++ 14语言功能,并提供有关在HotSpot代码中可以使用哪些功能的特定指南。
JEP 357:从Mercurial迁移到Git –将OpenJDK社区的源代码存储库从Mercurial(hg)迁移到Git。
JEP 369:迁移到GitHub –在GitHub上托管OpenJDK社区的Git存储库。
8、新端口在更多平台上提供对Java的支持
JEP 386:Alpine Linux端口–在x64和AArch64体系结构上,将JDK移植到Alpine Linux以及使用musl作为其主要C库的其他Linux发行版。
JEP 388:Windows / Aarch64端口–将JDK移植到Windows / AArch64。