`
gao_xianglong
  • 浏览: 466999 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

转发Java8新特性预览

    博客分类:
  • Java
阅读更多

经过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 新特性一览 

分享到:
评论

相关推荐

    java版qq源码

    多线程是Java版QQ的关键特性,因为它允许多个任务同时执行。在聊天应用中,通常会创建两个线程:一个主线程负责显示UI和处理用户交互,另一个后台线程则负责接收和发送消息。这样,即使在处理网络通信时,用户界面...

    彩信网关程序(JAVA)

    在Java平台上开发彩信网关程序,利用了Java的强大特性和丰富的库支持,确保了跨平台兼容性和高效性能。 首先,我们要理解彩信网关的基本架构。它通常由以下几个部分组成: 1. **接口层**:这是网关与外部系统交互...

    java仿qq聊天器

    这款聊天器不仅实现了基本的聊天功能,还具备了一定的增强特性,如文件传输、局域网共享文件查看等。下面将详细阐述这款聊天器的关键技术和实现细节。 首先,该聊天器的核心通信机制是基于TCP/IP和UDP两种网络协议...

    ssh嵌入flex实现在线拍照,并付图片预览

    总的来说,这个项目展示了SSH与Flex集成的强大之处,即利用Java的稳定性和Flex的富媒体能力,创建出具有高级交互特性的在线应用。通过理解这两个技术的结合,开发者可以构建更多复杂的Web应用,提升用户的在线体验。

    drip-minio:minio rest服务java8

    1. **Java 8**: 使用Java 8的新特性和API,如lambda表达式和流,提高代码的简洁性和效率。 2. **Minio-Java SDK**: 通过Minio提供的Java客户端库,开发者可以方便地在Java应用中集成Minio对象存储服务,进行上传、...

    基于Java+vue高校宿舍信息管理系统小程序源码数据库文档.zip

    部署方面,通常会将Java后端应用部署在如Tomcat这样的应用服务器上,而微信小程序则需要在微信开发者工具中预览和发布。 8. **文档**: 压缩包中的文档可能包括需求分析、系统设计、接口文档、使用说明等,帮助...

    Java SpringMVC+HTML5飞翔的小鸟游戏微信小程序源码.zip

    8. **微信开发者工具**:为了开发和调试微信小程序,开发者通常会使用微信官方提供的开发者工具,它集成了代码编辑、预览、真机调试等功能,有助于快速开发和优化项目。 9. **API设计**:在前后端交互中,可能涉及...

    基于Java的电子邮件的收发系统的设计与实现【开题报告】.pdf

    基于Java的电子邮件收发系统设计与实现是一个涵盖多方面技术的项目,旨在利用Java的强大功能和跨平台特性构建一个高效、安全的邮件服务系统。 1. **电子邮件历史与工作原理** 电子邮件自互联网诞生以来就扮演着...

    基于Java SSM MySQL实现互联网广告素材管理系统.zip

    Spring是Java企业级应用开发的核心框架,提供依赖注入(DI)和面向切面编程(AOP)等特性,简化了Java应用的开发和管理。在本项目中,Spring负责管理各个组件的生命周期,实现服务层和数据访问层的解耦。 2. **...

    海康ISUP协议开发指南

    8. **版本更新历史**:列出V2.5版本相较于之前的改进和新特性,便于开发者了解更新内容。 通过这份开发指南,开发者不仅可以掌握ISUP协议的基本操作,还能深入理解其内在机制,从而更好地在实际项目中运用海康设备...

    捷邻微信小程序.zip

    5. **Java编程**:Java是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性而知名。在本项目中,Java作为后端语言,负责处理业务逻辑、数据操作和接口提供。 6. **Spring MVC**:Spring MVC是...

    dwr中文实例讲解

    `Servlet`是一个部署在Web服务器上的组件,它接收来自客户端的请求并转发给相应的Java方法;`Client API`则是用于在浏览器端与DWR引擎交互的JavaScript库。 在"edittable.rar"示例中,我们将看到如何使用DWR更新...

    基于ssm计算机网络课程试卷生成器.zip

    1. **Spring框架**:Spring是Java企业级应用开发的核心框架,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性,简化了Java应用的开发。在这个项目中,Spring负责管理各个组件的生命周期和依赖关系,使得代码...

    apache-james-3.0-beta3-app.zip

    在这个版本中,开发者可以预览即将发布的稳定版的新特性,并对邮件服务器进行测试。 Apache James的核心组件包括: 1. **Mailet API**:Mailets是James中的自定义邮件处理组件,它们类似于Servlets,但用于处理...

    kiftd私人云盘搭建系统.zip

    - **文件预览**:内置多种文件类型的预览功能,无需下载即可查看文档、图片、视频等。 - **分享与协作**:支持文件或文件夹的分享,便于团队协作和信息共享。 - **自定义域名**:可以绑定自己的域名,打造个性化...

    设备网络SDK编程指南(热成像)1

    开发者应该仔细阅读这部分以了解如何充分利用SDK的新特性。 在函数调用顺序章节中,指南详细阐述了各个功能模块的执行流程。例如: - 实时预览模块流程,描述了如何初始化预览,设置视频流参数,建立连接,接收并...

    基于ssh的在线拍卖系统

    8. 扩展性:系统应设计成模块化,便于添加新功能,如拍卖预览、收藏夹、用户评价等。 总的来说,基于SSH的在线拍卖系统利用这些技术的强大功能,构建了一个高效、安全的电子商务平台,满足用户在线竞拍的需求。...

    微信小程序校园失物招领系统.zip

    微信小程序是一种轻量级的应用开发平台,主要用于在微信内提供便捷的服务和互动体验。在这个“微信小程序校园失物...这样的项目对于学习和理解前后端开发流程、微信小程序的特性以及Java Web技术都有很好的实践意义。

Global site tag (gtag.js) - Google Analytics