Java 8 正式发布,新特性全搜罗

标签: 业界新闻 | 发表时间:2014-03-19 14:22 | 作者:快乐无极 <[email protected]>
出处:http://it.oyksoft.com/index.php

经过2年半的努力、屡次的延期和9个里程碑版本,甲骨文的Java开发团队终于发布了Java 8正式版本。



Java 8版本最大的改进就是 Lambda表达式,其目的是使Java更易于为多核处理器编写代码;其次,新加入的Nashorn引擎也使得Java程序可以和JavaScript代码互操作;再者,新的日期时间API、GC改进、并发改进也相当令人期待。

另外,原本要加入Java 8的Jigsaw项目(标准模块系统)由于开发时间关系,被推迟到了Java 9中,不过Java 8已经在朝着这个方向努力了。

Java 8的所有新特性及改进包括(JEP全称为JDK Enhancement Proposal,JDK改进建议):

语言改进:

        
  • 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 129NSA 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(限制获取外部资源)


详细信息 http://openjdk.java.net/projects/jdk8/features
JDK 8下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html

同时发布的还有NetBeans IDE 8.0正式版本,新版本特性见: NetBeans IDE 8.0 新特性一览

JRE8下载:

32位: http://www.oyksoft.com/soft/21740.html

64位: http://www.oyksoft.com/soft/21742.html

JDK下载:

32位: http://www.oyksoft.com/soft/21739.html

64位: http://www.oyksoft.com/soft/21741.html


Tags - , , ,

相关 [java] 推荐:

Java中的锁(Locks in Java)

- - 并发编程网 - ifeve.com
原文链接 作者:Jakob Jenkov 译者:申章 校对:丁一. 锁像synchronized同步块一样,是一种线程同步机制,但比Java中的synchronized同步块更复杂. 因为锁(以及其它更高级的线程同步机制)是由synchronized同步块的方式实现的,所以我们还不能完全摆脱synchronized关键字( 译者注:这说的是Java 5之前的情况).

Java PaaS 对决

- 呆瓜 - IBM developerWorks 中国 : 文档库
本文为 Java 开发人员比较了三种主要的 Platform as a Service (PaaS) 产品:Google App Engine for Java、Amazon Elastic Beanstalk 和 CloudBees [email protected] 它分析了每种服务独特的技术方法、优点以及缺点,而且还讨论了常见的解决方法.

Java浮点数

- d0ngd0ng - 译言-电脑/网络/数码科技
Thomas Wang, 2000年3月. Java浮点数的定义大体上遵守了二进制浮点运算标准(即IEEE 754标准). IEEE 754标准提供了浮点数无穷,负无穷,负零和非数字(Not a number,简称NaN)的定义. 在Java开发方面,这些东西经常被多数程序员混淆. 在本文中,我们将讨论计算这些特殊的浮点数相关的结果.

Qt——转战Java?

- - 博客 - 伯乐在线
编者按:事实上,在跨平台开发方面,Qt仍是最好的工具之一,无可厚非,但Qt目前没有得到任何主流移动操作系统的正式支持. 诺基亚的未来计划,定位非常模糊,这也是令很多第三方开发者感到失望,因此将导致诺基亚屡遭失败的原因. Qt的主要开发者之一Mirko Boehm在博客上强烈讽刺Nokia裁了Qt部门的决定,称其为“绝望之举”,而非“策略变更”.

java 验证码

- - ITeye博客
// 创建字体,字体的大小应该根据图片的高度来定. // 随机产生160条干扰线,使图象中的认证码不易被其它程序探测到. // randomCode用于保存随机产生的验证码,以便用户登录后进行验证. // 随机产生codeCount数字的验证码. // 得到随机产生的验证码数字. // 产生随机的颜色分量来构造颜色值,这样输出的每位数字的颜色值都将不同.

Java异常

- - CSDN博客推荐文章
“好的程序设计语言能够帮助程序员写出好程序,但是无论哪种语言都避免不了程序员写出坏的程序.                                                                                                                          ----《Java编程思想》.

java面试题

- - Java - 编程语言 - ITeye博客
 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面. 抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节. 抽象包括两个方面,一是过程抽象,二是数据抽象.  继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法. 对象的一个新类可以从现有的类中派生,这个过程称为类继承.

Java使用memcached

- - 互联网 - ITeye博客
首先到 http://danga.com/memcached下载memcached的windows版本和java客户端jar包,目前最新版本是memcached-1.2.1-win32.zip和java_memcached-release_1.6.zip,分别解压后即可. 然后是安装运行memcached服务器,我们将memcached-1.2.1-win32.zip解压后,进入其目录,然后运行如下命令:c:>;memcached.exe -d install
c:>memcached.exe -l 127.0.0.1 -m 32 -d start.

Java线程池

- - 企业架构 - ITeye博客
线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的. 在jdk1.5之后这一情况有了很大的改观. Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用. 为我们在开发中处理线程的问题提供了非常大的帮助.

java 缩略图

- - 开源软件 - ITeye博客
文章说明:根据用户上传的图片按等比例生成相应的的缩略图,两小例笔记. 第一、java-image-scaling 开源小工具生成图片缩略图. Maven地址: http://mvnrepository.com/artifact/com.mortennobel/java-image-scaling/.