Java SE Development Kit(JDK)是Sun公司针对Java开发员的软件开发工具包,自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit),目前Java SE Development Kit已经正式推出了全新的10.0.1版本了,在今后的开发过程中,大家将会慢慢普及使用jdk10.0.1,在这一次全新的jdk开发环境下,使用者将有更多的发挥空间。

基本简介
JDK(Java Development Kit)是整个Java的核心,包括了Java运行环境、java开发工具和Java基础类库源代码。JDK作为JAVA开发的环境,是运行JAVA程序不可缺少的环境,不管是做JAVA开发还是做安卓开发,都必须在电脑上安装JDK。小到小型设备,大到智慧城市,Java的贡献力量是其他任何技术无可比拟的。
最新特性
1.局部变量类型推断
局部变量类型推断可以说是Java 10中最值得注意的特性,这是Java语言开发人员为了简化Java应用程序的编写而采取的又一步,如下图所示。
这个新功能将为Java增加一些语法糖 – 简化它并改善开发者体验。新的语法将减少与编写Java相关的冗长度,同时保持对静态类型安全性的承诺。局部变量类型推断将引入”var”关键字,也就是你可以随意定义变量而不必指定变量的类型,如下图:将被下面这个新语法所取代:
看完是不是有点JS的即视感???越来越像JS了吗?!虽然类型推断在Java中不是一个新概念,但在局部变量中确是很大的一个改进。
说到类型推断,从JDK 5引进泛型,到JDK 7的”<>”操作符允许不绑定类型而初始化List,再到JDK 8的Lambda表达式,再到现在JDK 10的局部变量类型推断,Java类型推断正大刀阔斧的向前发展。
2. GC改进和内存管理
JDK 10中有2个JEP专门用于改进当前的垃圾收集元素。
第一个垃圾收集器接口是(JEP 304),它将引入一个纯净的垃圾收集器接口,以帮助改进不同垃圾收集器的源代码隔离。
预定用于Java 10的第二个JEP是针对G1的并行完全GC(JEP 307),其重点在于通过完全GC并行来改善G1最坏情况的等待时间。G1是Java 9中的默认GC,并且此JEP的目标是使G1平行。
3. 线程本地握手(JEP 312)
JDK 10将引入一种在线程上执行回调的新方法,因此这将会很方便能停止单个线程而不是停止全部线程或者一个都不停。
4. 备用内存设备上的堆分配(JEP 316)
允许HotSpot VM在备用内存设备上分配Java对象堆内存,该内存设备将由用户指定。
5. 其他Unicode语言 – 标记扩展(JEP 314)
目标是增强java.util.Locale及其相关的API,以便实现语言标记语法的其他Unicode扩展(BCP 47)。
6. 基于Java的实验性JIT编译器
Oracle希望将其Java JIT编译器Graal用作Linux / x64平台上的实验性JIT编译器。
7. 根证书(JEP 319)
这个的目标是在Oracle的Java SE中开源根证书。
8. 根证书颁发认证(CA)
这将使OpenJDK对开发人员更具吸引力,它还旨在减少OpenJDK和Oracle JDK构建之间的差异。
9. 将JDK生态整合单个存储库(JEP 296)
此JEP的主要目标是执行一些内存管理,并将JDK生态的众多存储库组合到一个存储库中。
10. 删除工具javah(JEP 313)
从JDK中移除了javah工具,这个很简单并且很重要。
测试命令
CMD命令提示符输入 java -version
JDK10新功能
1、先进的管理控制台
为系统管理员提供在不同的java版本对企业实现更安全的环境和增强的应用经验和可用性的桌面运行的有效控制。
2、java平台的安全
由角色提供的安全信息的描述。对于开发人员、系统管理员、家庭用户和安全专业人员。
3、java任务控制
java飞行记录器和java任务控制共同创造一个完整的工具链不断收集低水平和详细的运行时信息使事实事件分析后。
4、配置规则集
配置规则集允许桌面管理控制水平的java客户端兼容性和默认提示整个组织。
5、服务器的JRE
从java SE 7u21,服务器的java运行环境(服务器JRE)包可用于部署java应用服务器。
6、java小程序和Web启动代码签名
从java SE 7u21所有java小应用程序和网页开始应用鼓励与信任的证书签名。
java的基本语法
1、大小写敏感
Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。
2、类名
对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass。
3、方法名
所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写,例如myFirstJavaMethod。
4、源文件名
源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。
5、主方法入口
所有的Java 程序由public static void main(String [] args)方法开始执行。