经过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)改进:
VM运行时(vm/rt)改进:
核心基础(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)改进:
核心net(core/net)改进:
- JEP 184:HTTP URL访问权限
核心安全(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 129:NSA 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的关键特性,因为它允许多个任务同时执行。在聊天应用中,通常会创建两个线程:一个主线程负责显示UI和处理用户交互,另一个后台线程则负责接收和发送消息。这样,即使在处理网络通信时,用户界面...
在Java平台上开发彩信网关程序,利用了Java的强大特性和丰富的库支持,确保了跨平台兼容性和高效性能。 首先,我们要理解彩信网关的基本架构。它通常由以下几个部分组成: 1. **接口层**:这是网关与外部系统交互...
这款聊天器不仅实现了基本的聊天功能,还具备了一定的增强特性,如文件传输、局域网共享文件查看等。下面将详细阐述这款聊天器的关键技术和实现细节。 首先,该聊天器的核心通信机制是基于TCP/IP和UDP两种网络协议...
总的来说,这个项目展示了SSH与Flex集成的强大之处,即利用Java的稳定性和Flex的富媒体能力,创建出具有高级交互特性的在线应用。通过理解这两个技术的结合,开发者可以构建更多复杂的Web应用,提升用户的在线体验。
1. **Java 8**: 使用Java 8的新特性和API,如lambda表达式和流,提高代码的简洁性和效率。 2. **Minio-Java SDK**: 通过Minio提供的Java客户端库,开发者可以方便地在Java应用中集成Minio对象存储服务,进行上传、...
部署方面,通常会将Java后端应用部署在如Tomcat这样的应用服务器上,而微信小程序则需要在微信开发者工具中预览和发布。 8. **文档**: 压缩包中的文档可能包括需求分析、系统设计、接口文档、使用说明等,帮助...
8. **微信开发者工具**:为了开发和调试微信小程序,开发者通常会使用微信官方提供的开发者工具,它集成了代码编辑、预览、真机调试等功能,有助于快速开发和优化项目。 9. **API设计**:在前后端交互中,可能涉及...
基于Java的电子邮件收发系统设计与实现是一个涵盖多方面技术的项目,旨在利用Java的强大功能和跨平台特性构建一个高效、安全的邮件服务系统。 1. **电子邮件历史与工作原理** 电子邮件自互联网诞生以来就扮演着...
Spring是Java企业级应用开发的核心框架,提供依赖注入(DI)和面向切面编程(AOP)等特性,简化了Java应用的开发和管理。在本项目中,Spring负责管理各个组件的生命周期,实现服务层和数据访问层的解耦。 2. **...
8. **版本更新历史**:列出V2.5版本相较于之前的改进和新特性,便于开发者了解更新内容。 通过这份开发指南,开发者不仅可以掌握ISUP协议的基本操作,还能深入理解其内在机制,从而更好地在实际项目中运用海康设备...
5. **Java编程**:Java是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性而知名。在本项目中,Java作为后端语言,负责处理业务逻辑、数据操作和接口提供。 6. **Spring MVC**:Spring MVC是...
`Servlet`是一个部署在Web服务器上的组件,它接收来自客户端的请求并转发给相应的Java方法;`Client API`则是用于在浏览器端与DWR引擎交互的JavaScript库。 在"edittable.rar"示例中,我们将看到如何使用DWR更新...
1. **Spring框架**:Spring是Java企业级应用开发的核心框架,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性,简化了Java应用的开发。在这个项目中,Spring负责管理各个组件的生命周期和依赖关系,使得代码...
在这个版本中,开发者可以预览即将发布的稳定版的新特性,并对邮件服务器进行测试。 Apache James的核心组件包括: 1. **Mailet API**:Mailets是James中的自定义邮件处理组件,它们类似于Servlets,但用于处理...
- **文件预览**:内置多种文件类型的预览功能,无需下载即可查看文档、图片、视频等。 - **分享与协作**:支持文件或文件夹的分享,便于团队协作和信息共享。 - **自定义域名**:可以绑定自己的域名,打造个性化...
开发者应该仔细阅读这部分以了解如何充分利用SDK的新特性。 在函数调用顺序章节中,指南详细阐述了各个功能模块的执行流程。例如: - 实时预览模块流程,描述了如何初始化预览,设置视频流参数,建立连接,接收并...
8. 扩展性:系统应设计成模块化,便于添加新功能,如拍卖预览、收藏夹、用户评价等。 总的来说,基于SSH的在线拍卖系统利用这些技术的强大功能,构建了一个高效、安全的电子商务平台,满足用户在线竞拍的需求。...
微信小程序是一种轻量级的应用开发平台,主要用于在微信内提供便捷的服务和互动体验。在这个“微信小程序校园失物...这样的项目对于学习和理解前后端开发流程、微信小程序的特性以及Java Web技术都有很好的实践意义。