Java 7 的新特性一览表
发布之前让我们先来看看 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 theinformation
andresources
elements can now contain specific versions of Windows, such as Windows Vista or Windows 7. - Applications can use the
install
attribute in theshortcut
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; see Deploying Without Codebase
- The
- 可直接在 HTML 中嵌入 JNLP 文件:Embedding JNLP File in Applet Tag.
- 可在 JavaScript 代码中检查 Applet 是否已经加载完成:Handling Initialization Status With Event Handlers.
- 可在 Applet 从快捷方式启动或者拖出浏览器时对窗口样式和标题进行控制:Requesting and Customizing Applet Decoration in Developing 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 in Java PKCS#11 Reference Guide.
- 禁用了一些弱加密算法,详情请看 Appendix D: Disabling Cryptographic Algorithms in Java PKI Programmer's Guide and Disabled Cryptographic Algorithms in Java 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
方法 See Selecting a Font. -
TextLayout
类支持西藏语脚本 -
libfontconfig
, 是一个字体配置 api ,see Fontconfig.
国际化
- 支持 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
相关推荐
该项目为“studyjava-zz”设计源码,深入探索Java编程新视野,共计包含549个文件,涵盖209个Java源代码文件、74个Git忽略文件、70个项目配置文件、68个classpath文件、66个偏好设置文件、25个Markdown文档、16个XML...
base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz
6. 生物工程对农业的影响:这道题目涉及的是科技进步对产业的影响,虽然不是直接的编程知识,但IT行业经常需要思考新技术带来的变革,例如在农业信息化、精准农业等领域。 7. 法官判断问题:此题考察逻辑推理和判断...
5. **handler**:拒绝策略,当线程池和工作队列都满时,新提交的任务将被拒绝,Java提供了四种预定义策略:抛出异常、直接忽略、调用系统关机、替换为系统默认策略。 线程池的工作流程大致如下: 1. 当任务提交到...
7. **线程控制**:为了实现方块自动下落的效果,项目通常会用到Thread类或者Runnable接口来创建新的线程。线程间的同步和通信也是需要考虑的问题,例如使用synchronized关键字或wait/notify机制防止竞态条件。 8. *...
Java 编程新思想.doc
总结,开发聊天工具涉及到网络编程、多线程、数据交换格式、用户界面设计等多个核心领域,Java以其丰富的库和强大的跨平台特性,为实现这样的项目提供了坚实的基础。"天翔ZZ"作为一个实例,展示了如何用Java语言构建...
### Java集合类总结 在Java开发中,集合类(Containers)是极其重要的组成部分,它们作为开发者日常编程不可或缺的工具,不仅让代码变得更加简洁、高效,还能显著提升程序的功能性和灵活性。本文将对Java标准类库中...
"ZZ-07续签合同考核表.zip"是一个压缩包文件,它包含了一个名为"ZZ-07续签合同考核表.doc"的文档。这个文件很可能是企业用来评估和管理合同续签过程的一种工具。下面我们将详细探讨与之相关的知识点。 1. **文件...
系统需要设计合理的数据表结构,如“学生信息表”、“考勤记录表”等,以便存储和检索考勤数据。 3. **指纹识别技术**:系统可能使用第三方的指纹识别库,如ZKSoftware或DigitalPersona,将指纹数据转换为可存储和...
"参考资料-ZZ-07续签合同考核表.zip"这个压缩包文件显然包含了一份关于续签合同考核的相关文档,即"参考资料-ZZ-07续签合同考核表.doc"。这可能是一个模板或者指导文件,用于评估是否应该继续与特定的合作伙伴签订新...
wincc SIMATIC WinCC是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。 从面市伊始,用户就对SIMATIC WinCC印象深刻。
2021年全国职业院校技能大赛参赛选手备赛参照使用。
"zz牌类小游戏24点" 是一个基于Java编程语言开发的桌面游戏,其核心玩法是24点游戏。24点游戏是一种流行的心算游戏,玩家需要利用四张给出的扑克牌上的数字,通过加、减、乘、除运算,使得结果等于24。这个游戏旨在...
ZZ561401.CAB ZZ561401.CAB ZZ561401.CAB
它利用Java的面向对象特性,通过类和对象来封装数据和操作,实现业务逻辑。系统可能采用了MVC(Model-View-Controller)架构模式,这是一种常见的软件设计模式,将业务逻辑、用户界面和数据访问分离开来,提高代码的...
paxos-simple描述分布式一致性的经典算法,许多的算法都是其变种,有兴趣的可以下载看看
在这里,我们有1.8和1.7版本的文件,这表示它们分别对应Java 8和Java 7的策略。 2. **备份原始文件**:在替换之前,确保备份原有的`local_policy.jar`和`US_export_policy.jar`,以防万一需要恢复。 3. **替换文件...
《中医大夫助理信息系统 zz-doctor 深度解析》 中医大夫助理信息系统“zz-doctor”是一款基于Android平台的应用程序,旨在为中医医生提供智能化、便捷化的诊疗辅助工具。通过深入剖析这款应用的源码,我们可以了解...
通过使用Apache POI,开发者可以创建新的Excel工作簿,修改现有的工作表,填充数据,读取数据,执行公式计算等。例如,我们可以创建一个`Workbook`对象来代表Excel文件,然后创建`Sheet`对象表示工作表,接着通过`...