JDK 10是Java 10标准版的部分实现,改进的关键点包括一个本地类型推断、一个垃圾回收的“干净”接口。尽管JDK 9对于许多Java开发人员非常新鲜,但它的发展并没有停止。
Java SE 10是Java SE平台的最新版本,本发行版包含诸如局部变量类型推断,并行完整GC,应用程序类数据共享等改进。本站为用户提供Java SE 10最新版下载,强烈建议所有Java SE用户升级到此版本。
JDK包含组件:
javac–编译器,将源程序转成字节码
jar打包工具,将相关类文件打包成文件
javadoc文档生成器,从源注释中提取文档
jdb–debugger,查错工具
java–运行编译后的java程序(.class后缀的)
appletviewer:小程序浏览器,一种执行html文件上的Java小程序的Java浏览器。
Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole:Java进行系统调试和监控的工具
JDK10新特性:
1、var声明变量
很多人抱怨Java是一种强类型,需要引入大量的样板代码。甚至在这些情况下,给定好变量名,通常很清楚发生了什么,明显类型声明往往被认为是不必要的。许多流行的编程语言都已经支持某种形式的局部变量类型推断:如C++ (auto), C# (var), Scala (var/val), Go (declaration with :=)等。
JDK10 可以使用var作为局部变量类型推断标识符,此符号仅适用于局部变量,增强for循环的索引,以及传统for循环的本地变量;它不能使用于方法形式参数,构造函数形式参数,方法返回类型,字段,catch形式参数或任何其他类型的变量声明。
标识符var不是关键字;相反,它是一个保留的类型名称。这意味着var用作变量,方法名或则包名称的代码不会受到影响;但var不能作为类或则接口的名字(但这样命名是比较罕见的,因为他违反了通常的命名约定,类和接口首字母应该大写)。
参考一下示例:
var str = "ABC"; //根据推断为 字符串类型
var l = 10L;//根据10L 推断long 类型
var flag = true;//根据 true推断 boolean 类型
var flag1 = 1;//这里会推断boolean类型。0表示false 非0表示true
var list = new ArrayList(); // 推断 ArrayList
var stream = list.stream(); // 推断 Stream
2、移除javah
移除Native-Header Generation Tool (javah)
JDK10 从JDK中移除了javah 工具。该工具已被JDK8 (JDK-7150368)中添加javac高级功能所取代。此功能提供了在编译java源代码时编写本机头文件的功能,从而无需使用单独的工具。
3、IO流大家族添加charset参数
其它
JDK10中包含许多对JVM的优化:
-
将JDK多存储库合并为单存储库
-
并行Full GC 的G1
-
垃圾回收接口
-
应用数据共享
-
线程局部管控
-
基于实验JAVA 的JIT 编译器
-
备用内存设备上分配堆内存
JDK环境变量设置教程小编之前有发过!每个版本都是一样的,参考文档:jdk配置环境变量详细步骤