阅读更多

50顶
1踩

编程语言

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

2014-03-19 09:34 by 副主编 wangguo 评论(28) 有53064人浏览
经过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
旧项目生产环境,呵,风险太大了吧,新项目还差不多。

发表评论

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

相关推荐

  • Java 8 正式发布,新特性全搜罗 (转)

    经过2年半的努力、屡次的延期和9个里程碑版本,甲骨文的Java开发团队终于发布了Java 8正式版本。 Java 8版本最大的改进就是Lambda表达式,其目的是使Java更易于为多核处理器编写代码;其次,新加入的Nashorn引擎...

  • Java 8 新特性全搜罗

    经过2年半的努力、屡次的延期和9个里程碑版本,甲骨文的Java开发团队终于发布了Java 8正式版本。  Java 8版本最大的改进就是Lambda表达式,其目的是使Java更易于为多核处理器编写代码;其次,新加入的Nashorn引擎也...

  • Java8 Streams流

    参考: Java 8 Centralhttps://www.oracle.com/java/technologies/java8.html ... Java 8 特性 – 终极手册http://ifeve.com/java-8-features-tutorial/ Java 8 中的 Streams API 详解 https://developer.i...

  • 2019年最全的java面试题总结

    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...

  • 搜罗腾讯阿里大厂面试官考题,Java最细面试八股文来袭,对症下药,精准制导,拿下心仪大厂offer

    java8的新特性。 JVM知识 什么情况下会发生栈内存溢出。 JVM的内存结构,Eden和Survivor比例。 JVM内存为什么要分成新生代,老年代,持久代。新生代中为什么要分为Eden和Survivor。 JVM中一次完整的GC流程是怎样的...

  • 2021Java面试-基础篇

    初衷:在接到面邀请之后,面试过程就变成面试官...基于以上原因,本人计划搜罗网上优秀且全面的面试题库,用自己理解的话再叙述出来,用于自身成长。2021-4-29在两个月前开始写JAVA面试基础篇,中途要备考所以搁浅了。

  • 干货丨Java开发者必读的10篇精选优秀技术文章

    自Google在2009年发布Go语言的第一个正式版之后,这门语言就以出色的语言特性受到大家的追捧,尤其是在需要高并发的场景下,大家都会想到是不是该用Go。随后,在国内涌现出了一批以七牛为代表的使用Go作为主要语言的...

  • 看完大型互联网公司的招聘要求,Java工程师如何做到月薪30k!

    首先java基本功需要具备,所谓的基本功,不是简单的能写出代码,除了能写出来之外还要,在代码质量上面需要具体一定体现,比如对一些简单的多线程,以及常见的java框架有一定的修改,或者定制功能,工程中出现内存...

  • 新技术学习不完全指北:以 Rust 为例

    光线追踪是一个学习新语言特别好的训练项目,它能囊括多种语言特性,又有性能要求,而且主要是数学计算,最后输出的是数字构成的列表/数组,几乎不需要使用其它 API,可以在多种环境里使用。 用 Rust 实现光线追踪...

  • JDKjdk1.4、jdk5.0、JDK6.0、 JDK7.0、JDK8.0、JDK9.0(2016年发布) 新特性

    jdk1.4、jdk5.0、JDK6.0、 JDK7.0 新特性 http://blog.sina.com.cn/s/blog_4bb5650c0100gxo4.html 1.4版本特性  JDK1.4新特性之I/O APIs篇 http://vvnet.javaeye.com/blog/463740  Java NIO原理和使用 ...

  • 用了8年MQ,聊聊消息队列的技术选型,哪个最香?

    MetaQ支持两种消费模型:集群消费和广播消费 ,因为以前使用过的消费者模型都是用队列模型,当我第一次接触到这种发布订阅模型的时候还是被惊艳到了。 集群消费 订单创建成功后,发送一条消息给MetaQ。这条消息可以...

  • Java开发者必读的10篇精选优秀技术文章

    作为最受欢迎的编程语言之一,Java已经走过了20个年头。从已经落寞的诺基亚到现在火热的电商系统,我们都能看到Java语言的身影。经过20年的历练,这门语言已经逐渐成熟,并经过很多大型系统的考验。社区关于这门语言...

  • 多图表实现员工满意度调查数据分析python

    员工满意度是指员工对于工作环境、待遇、职业发展和组织管理等方面的满意程度。它是衡量员工对工作的整体感受和情绪状态的重要指标。

  • 2020届软件工程本科毕业生毕业设计项目.zip

    2020届软件工程本科毕业生毕业设计项目

  • 基于stm32平衡小车

    平衡小车 基于stm32 平衡小车 基于stm32 平衡小车 基于stm32

  • c语言火车票订票管理源码.rar

    c语言火车票订票管理源码.rar

  • 施耐德PLC例程源码四台水泵的轮换

    施耐德PLC例程源码四台水泵的轮换提取方式是百度网盘分享地址

  • node-v16.13.2-linux-s390x.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • digix算法创新大赛2019baseline.zip

    digix算法创新大赛2019baseline

Global site tag (gtag.js) - Google Analytics