阅读更多

50顶
1踩

编程语言

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

2014-03-19 09:34 by 副主编 wangguo 评论(28) 有53608人浏览
经过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年的历练,这门语言已经逐渐成熟,并经过很多大型系统的考验。社区关于这门语言...

  • 外加热强制循环蒸发器装配图(CAD).rar

    外加热强制循环蒸发器装配图(CAD).rar

  • 数控车床纵向进给系统设计.zip

    数控车床纵向进给系统设计.zip

  • vault_side_off_ominous.png

    j

  • 爬虫 bangumi名称和评论数

    爬虫 bangumi名称和评论数

  • 基于SpringBoot的垃圾分类回收系统(源码+数据库+万字文档)526

    基于SpringBoot的垃圾分类回收系统,系统包含两种角色:管理员、用户主要功能如下。 【用户功能】 首页:浏览垃圾分类回收系统信息。 个人中心:管理个人信息,查看历史记录和订单状态。 运输管理:查看运输信息,垃圾回收的时间和地点。 公告管理:阅读系统发布的相关通知和公告。 垃圾回收管理:查看垃圾回收的信息,回收类型和进度。 垃圾出库申请管理:提交和查看垃圾出库申请的状态。 【管理员功能】 首页:查看垃圾分类回收系统。 个人中心:管理个人信息。 管理员管理:审核和管理注册管理员用户的信息。 用户管理:审核和管理注册用户的信息。 运输管理:监管和管理系统中的运输信息。 公告管理:发布、编辑和删除系统的通知和公告。 垃圾回收管理:监管和管理垃圾回收的信息。 垃圾出库申请管理:审批和管理用户提交的垃圾出库申请。 基础数据管理:管理系统的基础数据,运输类型、公告类型和垃圾回收类型。 二、项目技术 编程语言:Java 数据库:MySQL 项目管理工具:Maven 前端技术:Vue 后端技术:SpringBoot 三、运行环境 操作系统:Windows、macOS都可以 JDK版本:JDK1.8以上都可以 开发工具:IDEA、Ecplise、Myecplise都可以 数据库: MySQL5.7以上都可以 Maven:任意版本都可以

  • 这篇文章是台湾大学(NTU)计算机科学与信息工程系(CSIE)2021年秋季学期算法设计与分析课程的第一份作业(Homework#1)的具体要求和题目描述 以下是主要内容的总结:

    内容概要:本文档是台湾大学计算机科学与信息工程系2021年秋季学期《算法设计与分析》课程的第一次作业(Homework#1)。作业包含四道编程题和三道手写题,旨在考察学生对算法设计和分析的理解与应用能力。编程题涉及汉诺塔、数组计算、矩形点对、糖果分配等问题;手写题涵盖渐近符号证明、递归方程求解、幽灵腿游戏优化、不公平的卢卡斯问题等。文档详细描述了每个问题的具体要求、输入输出格式、测试用例以及评分标准。此外,还提供了编程技巧和注意事项,如避免延迟提交、正确引用资料、处理大输入文件等。 适合人群:具备一定编程基础的本科生或研究生,特别是修读过或正在修读算法设计与分析相关课程的学生。 使用场景及目标:①帮助学生巩固课堂所学的算法理论知识;②通过实际编程练习提高解决复杂问题的能力;③为后续更深入的学习和研究打下坚实的基础。 其他说明:此作业强调团队合作和个人独立思考相结合的重要性,鼓励学生在讨论后用自己的语言表达解决方案,并注明参考资料。对于编程题,特别提醒学生注意输入文件可能较大,建议采取适当的优化措施以确保程序运行效率。

  • 基于SpringBoot的铁路订票管理系统(源码+数据库+万字文档+ppt)528

    基于SpringBoot的铁路订票管理系统,系统包含两种角色:管理员、用户主要功能如下。 【用户功能】 首页:浏览铁路订票管理系统的主要信息。 火车信息:查看火车的相关信息,包括车次、出发地、目的地和票价等。 公告资讯:阅读系统发布的相关通知和资讯。 后台管理:进行系统首页、个人中心、车票预订管理、车票退票管理等操作。 个人中心:管理个人信息,查看订单历史记录等。 【管理员功能】 首页:查看铁路订票管理系统。 个人中心:修改密码、管理个人信息。 用户管理:审核和管理注册用户的信息。 火车类型管理:管理系统中的火车类型信息。 火车信息管理:监管和管理系统中的火车信息,添加、编辑、删除等。 车票预订管理:处理用户的车票预订请求。 车票退票管理:处理用户的车票退票请求。 系统管理:管理系统的基本设置,公告资讯、关于我们、系统简介和轮播图管理。 二、项目技术 编程语言:Java 数据库:MySQL 项目管理工具:Maven 前端技术:Vue 后端技术:SpringBoot 三、运行环境 操作系统:Windows、macOS都可以 JDK版本:JDK1.8以上都可以 开发工具:IDEA、Ecplise、Myecplise都可以 数据库: MySQL5.7以上都可以 Maven:任意版本都可以

Global site tag (gtag.js) - Google Analytics