oracle于2011年7月28日发布 JDK7 正式 版。
让我们先来看看 Java 7 都有什么新特性吧。
Java 7 的架构图:
新特性一览表:
Swing
- 新增JLayer 类,是一个灵活而且功能强大的Swing组件修饰器,使用方法:How to Decorate Components with JLayer .
- Nimbus Look and Feel 外观从 com.sun.java.swing 包移到 javax.swing 包中,详情:javax.swing.plaf.nimbus
- 更轻松的重量级和轻量级组件的混合
- 支持透明窗体以及非矩形窗体的图形界面,请看How to Create Translucent and Shaped Windows
- JColorChooser 类新增 HSV tab.
网络
- 新增URLClassLoader.close 方法,请看Closing a URLClassLoader .
- 支持 Sockets Direct Protocol (SDP) 提供高性能网络连接,详情请看Understanding the Sockets Direct Protocol .
集合
- 新增TransferQueue 接口,是BlockingQueue 的改进版,实现类为LinkedTransferQueue
RIA/发布
- 拖拽的小程序使用一个默认或者定制的标题进行修饰,详情:Requesting and Customizing Applet Decoration in Draggable Applets .
- JNLP 文件做了如下方面的增强,详情请看JNLP File Syntax
:
- The os attribute in the information and resources elements can now contain specific versions of Windows, such as Windows Vista or Windows 7.
- Applications can use the install attribute in the shortcut element to specify their their desire to be installed. Installed applications are not removed when the Java Web Start cache is cleared, but can be explicitly removed using the Java Control Panel.
- Java Web Start applications can be deployed without specifying the codebase attribute; seeDeploying Without Codebase
- 可直接在 HTML 中嵌入 JNLP 文件:Embedding JNLP File in Applet Tag .
- 可在 JavaScript 代码中检查 Applet 是否已经加载完成:Handling Initialization Status With Event Handlers .
- 可在 Applet 从快捷方式启动或者拖出浏览器时对窗口样式和标题进行控制:Requesting and Customizing Applet Decoration inDeveloping Draggable Applets .
XML
- 包含Java API for XML Processing (JAXP) 1.4.5, 支持Java Architecture for XML Binding (JAXB) 2.2.3, 和Java API for XML Web Services (JAX-WS) 2.2.4.
java.lang 包
- 消除了在多线程环境下的非层次话类加载时导致的潜在死锁,详情:Multithreaded Custom Class Loaders in Java SE 7 .
Java 虚拟机
- 支持非 Java 语言 : Java SE 7 引入一个新的 JVM 指令用于简化实现动态类型编程语言
- Garbage-First Collector 是一个服务器端的垃圾收集器用于替换 Concurrent Mark-Sweep Collector (CMS).
- 提升了 Java HotSpot 虚拟机的性能
Java I/O
java.nio.file 包以及相关的包java.nio.file.attribute 提供对文件 I/O 以及访问文件系统的全面支持,请看File I/O (featuring NIO.2) .
- 目录<Java home> /sample/nio/chatserver/ 包含使用 java.nio.file 包的演示程序
- 目录<Java home> /demo/nio/zipfs/ 包含 NIO.2 NFS 文件系统的演示程序
安全性
- 新的内置对多个基于 ECC 算法(ECDSA/ECDH)的支持,详情请看:Sun PKCS#11 Provider's Supported Algorithms inJava PKCS#11 Reference Guide .
- 禁用了一些弱加密算法,详情请看Appendix D: Disabling Cryptographic Algorithms inJava PKI Programmer's Guide andDisabled Cryptographic Algorithms inJava Secure Socket Extension (JSSE) Reference Guide .
- Java 安全套接字扩展中对 SSL/TLS 的增强
并发
- fork/join 框架,基于ForkJoinPool
类,是Executor
接口的实现,设计它用来进行高效的运行大量任务;使用 work-stealing 技术用来保证大量的 worker 线程工作,特别适合多处理器环境,详情请看Fork/Join
- 目录<Java home> /sample/forkjoin/ 包含了 fork/join 框架的演示程序
- ThreadLocalRandom 类class 消除了使用伪随机码线程的竞争,请看Concurrent Random Numbers .
- Phaser 类是一个新的同步的屏障,与CyclicBarrier 类似.
Java 2D
- 一个新的基于 XRender 的 Java 2D 渲染管道支持现在的 X11 桌面,改善了图形性能,请看 System Properties for Java 2D Technology 中的 xrender .
- JDK 可枚举并显示出已安装的 OpenType/CFF 字体,通过GraphicsEnvironment.getAvailableFontFamilyNames 方法 SeeSelecting a Font .
- TextLayout 类支持西藏语脚本
- libfontconfig, 是一个字体配置 api ,seeFontconfig .
国际化
- 支持Unicode 6.0.0
- 目录<Java home> /demo/jfc/Font2DTest/ 包含 Unicode 6.0 的演示程序
- Java SE 7 可容纳在 ISO 4217 中新的货币,详情请看Currency 类.
Java 编程语言特性
- 二进制数字表达方式
- 使用下划线对数字进行分隔表达,例如 1_322_222
- switch 语句支持字符串变量
- 泛型实例创建的类型推断
- 使用可变参数时,提升编译器的警告和错误信息
- try-with-resources 语句
- 同时捕获多个异常处理
JDBC 4.1
- 支持使用try-with-resources 语句进行自动的资源释放,包括连接、语句和结果集
- 支持 RowSet 1.1
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区
文章转载自:开源中国社区
[http://www.oschina.net
]
原文地址:http://www.oschina.net/news/20119/new-features-of-java-7
相关推荐
**JDBC4.0 API一览表** Java Database Connectivity (JDBC) 是Java编程语言中用于规范应用程序如何访问数据库的标准接口。JDBC4.0是Oracle公司在JDBC3.0基础上进行的一次重大更新,旨在提高数据库操作的效率、稳定...
根据提供的文件信息,本文将对Java语法进行详细的解析与总结,包括基本的语法结构、关键字、数据类型、变量声明及转换等内容。 ### Java语言概述 Java是一种广泛使用的面向对象编程语言,由Sun Microsystems开发并...
这个“开发问题一览表,JDK API”很可能是对Java开发过程中常见问题的集合,以及JDK API相关知识的详细解释。下面将详细探讨JDK API的主要组件、常见问题及其解决方案。 1. **核心类库**:JDK API的核心类库包括了`...
十、Java 8及以后的新特性 10.1 Lambda表达式:简化匿名内部类,提高代码可读性。 10.2 Stream API:处理集合数据的新方式,提供函数式编程风格。 10.3 Date-Time API:更强大、易用的日期和时间处理库。 以上...
根据给定的文件信息,我们将深入探讨UML开发工具及其特性,这将涵盖从开源解决方案到商业产品,以及它们在不同编程环境中的应用。 ### Ameos:实时嵌入式系统建模工具 Ameos是一款由Aonix提供的UML工具,特别适合...
SWT事件处理机制是其核心特性之一,它允许开发者响应各种用户交互行为,从而实现动态和响应式的界面设计。 ### SWT事件类型及处理 #### ControlEvent:控件事件 - **监听器和适配器**:`ControlListener`和`...
参数设置是优化Hibernate性能的关键环节,以下是对文档中提到的一些重要Hibernate配置参数的详细解释: 1. **hibernate.dialect**:这个参数指定Hibernate使用的数据库方言(Dialect),确保Hibernate能生成适合...
通过以上详细介绍,可以看出DBCP和C3P0在配置方面具有很多相似之处,但C3P0提供了更多的高级特性,如连接重试机制、连接有效性检查等,这些功能有助于提高系统的稳定性和性能。根据具体的应用场景选择合适的连接池...
### MyEclipse 6 Java EE开发中文手册知识点详解 #### 一、MyEclipse 6 Java EE开发中文手册概述 **MyEclipse 6 Java EE开发中文手册**是一本全面介绍如何使用MyEclipse 6进行Java EE开发的专业书籍。本书由刘长炯...
创建一个新的Java类。 3. 编写简单的`main`方法。 4. 运行程序,观察输出结果。 - **注意事项**: - 确保项目的构建路径设置正确,包含所需的类库。 - 使用正确的包结构组织代码。 ### 4. Eclipse基础概念与...
第一部分 JSP 技术与J2EE 技术 第1 章 JavaBeans 组件...附录1 支持EJB1.0 技术规范的EJB 平台开发工具一览表 附录2 JDBC Driver 一览表 附录3 WebLogic 服务器的配置方法 附录4 本书中所用数据库的数据库结构 参考文献
HTML5是目前最常用的版本,它引入了许多新特性,如离线存储(离线应用)、拖放功能、媒体元素(`<video>`和`<audio>`)等,极大地增强了网页的交互性和实用性。 DHTML,即Dynamic HTML,是HTML与JavaScript、CSS和...
【Java版商城源码下载——startShow:点赞项目一览图】是针对Java开发的电子商务平台的源代码资源,主要用于学习、研究或者二次开发。在Java技术领域,商城系统的开发是一项常见的任务,涉及到的技术栈广泛,涵盖了...
#### 四、缓存内存(BFM)一览表 FX2N-2AD模块内部配备了缓存内存(BFM),用于模块与FX2N主机之间的数据暂存。每个BFM均为16位内存,具体配置如下: - **基本内存区域**: - **#0**:b7~b0模拟输入值(低8位)...
它通过一系列图表的形式来表达软件系统的结构、行为和动态特性,帮助开发者更好地理解和构建软件系统。随着UML的广泛应用,各种辅助工具也应运而生,这些工具不仅简化了UML图表的绘制过程,还提供了许多高级功能,如...