阅读更多

50顶
1踩

编程语言

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

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

  • 中国行政村区划代码及地理坐标-最新数据.zip

    中国行政村区划代码及地理坐标-最新数据.zip

  • pocketsphinx-0.1.15-cp35-cp35m-win_amd64.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

  • 中国固定资产投资统计年鉴全集(1950-2021).zip

    中国固定资产投资统计年鉴全集(1950-2021).zip

  • 常用基础元件的PCB封装库SchLib/IntLib通用原理图库OV系列CMOS图像传感器

    常用基础元件的PCB封装库SchLib/IntLib通用原理图库OV系列CMOS图像传感器提取方式是百度网盘分享地址

  • c++控制台RPG小游戏

    这是一个比较完成的RPG游戏,包含了: 交易模块, 任务模块,技能模块,BUFF 模块, 背包模块,地图模块,基本涵盖了一个普通RPG游戏的所有元素

  • yolo算法-人-火灾数据集-9700张图像带标签-人-火灾.zip

    yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值

  • yolo算法-dms乘客识别器数据集-358张图像带标签-乘客.zip

    yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值

Global site tag (gtag.js) - Google Analytics