阅读更多

50顶
1踩

编程语言

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

2014-03-19 09:34 by 副主编 wangguo 评论(28) 有53399人浏览
经过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)改进:

核心安全(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(限制获取外部资源)
关于这些改进的详细信息可参阅:编程没有银弹:探讨 Java 8 新增特性的优缺点

详细信息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 新特性一览

关注ITeye官方微博 @ITeye官微,获得更多更新资讯和社区精彩内容。
  • 大小: 14.3 KB
50
1
评论 共 28 条 请登录后发表评论
28 楼 随意而生 2014-04-10 19:02
27 楼 sayji 2014-04-02 21:21
ray_linn 写道
虚拟扩展方法语法太古怪了,比C#的扩展方法矬多了,平白增加了阅读上的晦涩。

确实,java8的接口纯洁性被破坏了,而且鸭梨山大啊(函数接口、default、静态实现方法)--抽象类在偷笑!
26 楼 zoozooll 2014-04-01 17:13
icefishc 写道
sayji 写道
aasddsasda 写道
有没有敢应用到生产环境的?
应该木有。至少一年后,可能新项目可以试水一下。

已经在用了。。。 一个小项目, 大概2周后上线。

我想是的,。即使有人在用,也大多数用的是jdk 8,但是里面的语法全部都是7以下,甚至是6以下
25 楼 JAVA_刘特 2014-03-27 15:30
引用
引用
引用
24 楼 icefishc 2014-03-21 18:02
sayji 写道
aasddsasda 写道
有没有敢应用到生产环境的?
应该木有。至少一年后,可能新项目可以试水一下。

已经在用了。。。 一个小项目, 大概2周后上线。
23 楼 kelly_zsl 2014-03-21 15:26
jdk5经典从这开始
22 楼 ziguopu 2014-03-21 12:34
等java9出来了,估计就开始用java8了
21 楼 white_crucifix 2014-03-21 00:53
操,一堆项目还在用java5
20 楼 _j_ 2014-03-20 22:34
用jdk7,微信公众号开发地址验证通过。同样代码用jdk8 ea试,却不通过。好像加解密部份有区别
19 楼 starlit_2006 2014-03-20 16:16
感谢分享~
18 楼 dsjt 2014-03-20 16:01
移除Permanent Generation(永久代)
17 楼 diggywang 2014-03-20 13:48
compact profile 是个很有意思的东西
16 楼 Allen 2014-03-20 11:14
半年以后稳定下来,就可以开始考虑使用JDK8了……
15 楼 wangguo 2014-03-20 09:58
关于这些改进的详细信息可参阅:编程没有银弹:探讨 Java 8 新增特性的优缺点
14 楼 sayji 2014-03-19 22:40
aasddsasda 写道
有没有敢应用到生产环境的?
应该木有。至少一年后,可能新项目可以试水一下。
13 楼 sayji 2014-03-19 22:38
便秘这么久终于出来了!小白老鼠们出来测试吧!
12 楼 hooluupig 2014-03-19 21:20
hooluupig 写道
lambda不知道函数类型而是通过函数接口来实现,这点不爽。 也难为java了,包袱太重不敢迈开大的步子。

[纠正]不知道函数类型---->不支持函数类型。例如不能这么写:int y = () -> x*x;
11 楼 hooluupig 2014-03-19 21:11
lambda不知道函数类型而是通过函数接口来实现,这点不爽。 也难为java了,包袱太重不敢迈开大的步子。
10 楼 ray_linn 2014-03-19 18:05
虚拟扩展方法语法太古怪了,比C#的扩展方法矬多了,平白增加了阅读上的晦涩。
9 楼 txc_tang 2014-03-19 17:38
旧项目生产环境,呵,风险太大了吧,新项目还差不多。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

Global site tag (gtag.js) - Google Analytics