jdk12目前已经全新发布了,作为当前最热门的计算机语言之一,如今已被广泛应用到科技行业的各个领域。在这个新版本中新填的Switch表达式不仅可以作为语句也可以作为表达式。无论作为语句或者作为表达式,switch都可以使用传统/简化的作用域和控制流行为。这将有助于简化代码,并为在switch中使用模式匹配铺平道路。改进过后的G1归将不再使用内存,此功能的主要目标是改进G1垃圾收集器,以便在不活动时将Java堆内存归还给操作系统。为实现此目标,G1将在低应用程序活动期间定期生成或持续循环检查完整的Java堆使用情况。这将立即归还未使用的部分Java堆内存给操作系统。用户可以选择执行FULL GC以最大化返回的内存量,它还有着更多新功能带你来体验。在这次中小编给大家带来的是
jdk12 64位官方版下载,此版本小版本好为12.0.1是目前的最新版本,在下文中有着小编精心编写的安装教程与非常详细的环境变量配置教程,可让你在第一时间上体验大这款全新的jdk12。
安装教程
1、在本站下载好jdk12 64位官方版文件包,解压出来双击“jdk-12.0.1_windows-x64_bin.exe”主程序运行开始安装,在安装向导界面直接点击“下一步”。
2、安装路径建议不要更改,默认直接点击“下一步”即可。
3、程序正在安装,需要些时间请小伙伴们耐心等待哦。
4、好了安装完成,点击关闭下面我们开始环境变量配置。
环境变量配置教程
1、鼠标右键计算机选择属性。
2、然后点击高级系统设置环境变量。
3、在系统变量中新建变量
变量名:JAVA_HOME变量值:C:\Program Files\Java\jdk-12.0.1 (ps:如果你没有改变默认路径复制就可以,如果修改过请选择jdk的安装目录),填写好后点击“确定”。
JAVA_HOME是用来表示jdk的安装目录。
配置java_home的原因是:
(1)方便引用。
(2)其他软件会引用约定好的JAVA_HOME变量。比如tomcat就需要引用JAVA_HOME。
4、在系统变量列表中找到“Path”,点击“编辑”,在变量值最后输入
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码),填写好后点击“确定”。5、接着新建
CLASSPATH 变量
变量值填写
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)系统变量配置完毕
6、检验是否配置成功,电脑重启后,win+R 输入cmd 进入命令提示符界面
java -version(java 和 -version 之间有空格),若如图所示 显示版本信息则说明安装和配置成功。
输入java查看命令
输入javac查看命令
软件分类
java.lang: 这个是系统的基础类,比如String等都是这里面的,这个包是唯一一个可以不用引入(import)就可以使用的包。
java.io: 这里面是所有输入输出有关的类,比如文件操作等。
java.nio:为了完善io包中的功能,提高io包中性能而写的一个新包 ,例如NIO非堵塞应用。
java.net: 这里面是与网络有关的类,比如URL,URLConnection等。
java.util: 这个是系统辅助类,特别是集合类Collection,List,Map等。
java.sql: 这个是数据库操作的类,Connection, Statement,ResultSet等。
javax.servlet:这个是JSP,Servlet等使用到的类。
包含的基本组件
javac – 编译器,将源程序转成字节码
jar – 打包工具,将相关的类文件打包成一个文件
javadoc – 文档生成器,从源码注释中提取文档
jdb – debugger,查错工具
java – 运行编译后的java程序(.class后缀的)
appletviewer:小程序
浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole: Java进行系统调试和监控的工具
jdk结构图
常用基本工具
1、Javac: Java源程序编译器,将Java源代码转换成字节码。
2、Java: Java解释器,直接从字节码文件,又称为类文件.执行Java应用程序的字节代码。
3、appletviewer.exe Java applet浏览器。appletviewer命令可在脱离万维网浏览器环境的情况下运行applet。
4、jar: java应用程序打包工具,可将多个类文件合并为单个JAR归档文件。
5、Javadoc: Java API文档生成器从Java源程序代码注释中提取文档,生成API文档HTML页。
6、jdb: Java调试器(debugger),可以逐行执行程序.设置断点和检查变Md。
7、jps: 查看Java虚拟机进程列表。
新特性
1、Switch 表达式
使用Java 12,switch不仅可以作为语句也可以作为表达式。 无论作为语句或者作为表达式,switch都可以使用传统/简化的作用域和控制流行为。 这将有助于简化代码,并为在switch中使用模式匹配铺平道路。
Java开发人员正在增强Java编程语言,以使用模式匹配来解决当前switch语句的几个问题。 这包括:switch块的默认控制流行为,switch块默认作用域(被视为单个作用域的块)和switch仅作为语句。
在Java 11中,switch语句追随C和C++,默认情况下使用fall-through语义。 虽然传统的控制流程在编写低级代码时很有用,但随着switch在更高级别的环境中采用,易出错会盖过其灵活性。
2、默认CDS归档
通过在64位平台上的默认类列表的帮助下生成CDS归档来改进JDK构建过程,从而有效地消除了运行java -Xshare:dump。 此功能的目标包括:1。)改进开箱即用的启动时间,以及2.)摆脱使用-Xshare:dump。
3、Shenandoah GC
Shenandoah是一种垃圾收集(GC)算法,旨在保证低延迟(10 - 500 ms的下限)。 它通过在运行Java工作线程的同时执行GC操作减少GC暂停时间。 使用Shenandoah,暂停时间不依赖于堆的大小。 这意味着无论堆的大小如何,暂停时间都是差不多的。
这是一个实验性功能,不包含在默认(Oracle)的OpenJDK版本中。
4、JMH 基准测试
jdk12为JDK源代码添加了一套微基准测试(大约100个),简化了现有微基准测试的运行和新基准测试的创建过程。 它基于Java Microbenchmark Harness(JMH)并支持JMH更新。
此功能使开发人员可以轻松运行当前的微基准测试并为JDK源代码添加新的微基准测试。 可以基于Java Microbenchmark Harness(JMH)轻松测试JDK性能。 它将支持JMH更新,并在套件中包含一组(约100个)基准测试。
5、JVM 常量 API
JEP 334引入了一个API,用于建模关键类文件和运行时artifacts,例如常量池。 此API将包括ClassDesc,MethodTypeDesc,MethodHandleDesc和DynamicConstantDesc等类。此 API 对于操作类和方法的工具很有帮助。
6、G1的可中断 mixed GC
此功能通过将Mixed GC集拆分为强制部分和可选部分,使G1垃圾收集器更有效地中止垃圾收集过程。通过允许垃圾收集过程优先处理强制集,g1可以更多满足满足暂停时间目标。
G1是一个垃圾收集器,设计用于具有大量内存的多处理器机器。由于它提高了性能效率,g1垃圾收集器最终将取代cms垃圾收集器。
G1垃圾收集器的主要目标之一是满足用户设置的暂停时间。G1采用一个分析引擎来选择在收集期间要处理的工作量。此选择过程的结果是一组称为GC集的区域。一旦GC集建立并且GC已经开始,那么G1就无法停止。
如果G1发现GC集选择选择了错误的区域,它会将GC区域的拆分为两部分(强制部分和可选部分)来切换到处理Mix GC的增量模式。如果未达到暂停时间目标,则停止对可选部分的垃圾收集。
7、G1归还不使用的内存
此功能的主要目标是改进G1垃圾收集器,以便在不活动时将Java堆内存归还给操作系统。 为实现此目标,G1将在低应用程序活动期间定期生成或持续循环检查完整的Java堆使用情况。
这将立即归还未使用的部分Java堆内存给操作系统。 用户可以选择执行FULL GC以最大化返回的内存量。
8、移除多余ARM64实现
jdk12将只有一个ARM 64位实现(aarch64)。 目标是删除所有与arm64实现相关的代码,同时保留32位ARM端口和64位aarch64实现。
这将把重点转移到单个64位ARM实现,并消除维护两个实现所需的重复工作。 当前的JDK 11实现中有两个64位ARM实现。
0条评论