Java 8是完全免费的一款Java集成开发工具,,主要用于移动设备、嵌入设备的应用程序开发为,用户提供易用性、多语种特色,使用户在进行java开发时编写程序更简单,其全面升级现有编程模式,带来一项协同开发的JVM、Java语言以及库,集合生产力、易用性、多语种编程、更高安全性和稳定性等特色,让Java开发者、合作伙伴和IT决策者能够更轻松、更简便的方式来加快创新!
软件新特色
方法引用
方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。
Lambda表达式
Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。
新工具
新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。
默认方法
默认方法就是一个在接口里面有了一个实现的方法。
Date Time API
加强对日期与时间的处理。
Stream API
新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。
Optional类
Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。
Nashorn, JavaScript 引擎
Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。
使用教程
JDK环境变量设置(重点,环境变量的数值建议直接复制粘贴,不要手动输入)
1、设置环境变量:点击我的电脑(计算机)-属性-高级系统设置-环境变量
2、新建JAVA_HOME和CLASSPATH操作如下:
变量名:JAVA_HOME
变量值:(变量值填写你的jdk的安装目录,例如本人是C:\Program Files\Java\jdk1.8.0_31
变量名:CLASSPATH
变量值:.%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)
3、编辑Path变量,在原来的变量值最后面添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(Path值都是用英文的分号隔开的,大家要注意)如下:
4、设置完毕变量,点击确认(一直确认关闭窗口),并测试是否设置环境变量成功,点击开始菜单-运行-输入cmd确认-在cmd窗口中输入javac-点击键盘上的Enter键。如果出现如下图片则环境变量安装成功:
更新日志
语言改进:
JEP 126:Lambda表达式 & 虚拟扩展方法
JEP 138:基于Autoconf的构建系统
JEP 160:针对Method Handles的Lambda形式的表征
JEP 161:简洁的配置文件
JEP 162:为模块化做准备
JEP 164:利用CPU指令来改善AES加密的性能
JEP 174:Nashorn引擎,允许在Java程序中嵌入JS代码
JEP 176:自动检测识别Caller-Sensitive方法
JEP 179:JDK API变化和稳定性记录
VM基础改进:
JEP 142:减少指定字段上的缓存争用
VM垃圾回收(vm/gc)改进:
JEP 122:移除Permanent Generation(永久代)
JEP 173:移除一些很少使用的垃圾回收器组合
VM运行时(vm/rt)改进:
JEP 136:提供更多的验证错误信息
JEP 147:减少类元数据封装
JEP 148:支持创建小型虚拟机(3M以下)
JEP 171:添加3个内存有序化的内联函数
核心基础(core)改进:
JEP 153:命令行启动JavaFX应用
核心lang(core/lang)改进:
JEP 101:目标类型推断
JEP 104:Java类型注解
JEP 105:DocTree API
JEP 106:在javax.tools中添加Javadoc
JEP 117:移除APT(Annotation-Processing Tool)
JEP 118:运行过程中可访问参数名
JEP 120:重复注解
JEP 139:增强了javac,以改善构建速度
JEP 172:DocLint工具,用来检查Javadoc注释内容
核心库(core/libs)改进:
JEP 103:并行数组排序
JEP 107:集合数据批量操作
JEP 109:增强的包含Lambda的核心库
JEP 112:改进了字符集的实现
JEP 119:Core Reflection提供的javax.lang.model实现
JEP 135:Base64编解码
JEP 149:减少了核心库的内存占用
JEP 150:日期时间API
JEP 155:改进对并发的支持
JEP 170:JDBC 4.2
JEP 177:java.text.DecimalFormat.format优化
JEP 178:静态链接的JNI库
JEP 180:使用平衡树处理频繁的HashMap碰撞
核心i18n(core/i18n)改进:
JEP 127:改进了本地数据封装,采用Unicode CLDR数据
JEP 128:BCP 47局部匹配
JEP 133:Unicode 6.2
核心net(core/net)改进:
JEP 184:HTTP URL访问权限
核心安全(core/sec)改进:
JEP 113:MS-SFU Kerberos 5扩展
JEP 114:TLS Server Name Indication(SNI)扩展
JEP 115:AEAD密码套件
JEP 121:更强的口令加密系统算法
JEP 123:可配置的安全随机数生成方法
JEP 124:增强了证书撤回检测API
JEP 129:NSA Suite B加密算法实现
JEP 130:SHA-224消息摘要算法实现
JEP 131:针对64位Windows的SunPKCS11加密提供程序
JEP 140:特权限制
JEP 166:彻底检修JKS-JCEKS-PKCS12密钥库
web/jaxp改进:
JEP 185:JAXP 1.5(限制获取外部资源)