Java 7 Update 40 发布,新增任务控制和规则集支持

  • Charles Humble
  • 孙镜涛

2013 年 9 月 19 日

话题:Java语言 & 开发

Oracle 发布了Java 7 update 40,该修订版增加了一些重要的新特性,包括 JVM 监控工具、任务控制,Java applet 规则集、Web Start 应用程序以及大量的 bug 修复。

任务控制

Java 任务控制(JMC)是一个产品时间工具套件,它的根源是 JRockit JVM 工具。该工具套件的目的是提供不张扬的 Java 监控和管理,适合在开发和产品环境中使用。JMC 基于 Java 的Oracle 二进制代码许可发布。该许可允许你在开发和测试期间免费使用 JMC,但是如果想在产品中使用则需要另一个付费许可。

该工具套件由三个主要的组件组成:Java 进程浏览器、JMX 控制台和 Java Flight 记录器。

Java进程浏览器允许用户列出并连接到本地和远程运行的 Java 应用程序。它能够使用 Java 发现协议(JDP)自动地发现本地和远程运行的 Java 进程。

JMX 控制台能够通过 JMX 接口管理并监控 JDK。它提供了实时集合、堆使用情况、CPU 负载以及其他通过 MBeans 暴露的和在 MBean 服务器中注册的信息。

Java Flight 记录器提供了一种从操作系统层、JVM 和 Java 应用程序层收集事件的方式。收集的事件包括线程延时事件,例如休眠(sleep)、等待(wait)、锁竞争、I/O、GC 和方法分析。Oracle估计对大多数应用程序而言运行 Flight 记录器的性能开销大约在 2% 左右。

在 HotSpot JDK 中引入 Mission Control,说明 JRockit 和 HotSpot 开始融合——这是 Oracle 收购 Sun 不久之后就宣布的长期目标。这意味着随着 HotSpot JDK 7u40 的发布以后来自于 HotSpot 和来自于 JRockit 的信息将会一致。

这也是近几年来任务控制系统的第一个更新,它引入了一些新的特性,包括:

  1. 现在能够通过 JVM 浏览器查看服务器端服务所拥有的能够显示服务状态的子节点,例如,展开 Flight Recorder 服务之后,如果在服务器上有运行的记录那么就会显示在展开的 Recorder 服务下面。
  2. Eclipse 3.8/4.2 支持:现在的任务控制客户端能够在 Eclipse 3.8/4.2 上运行。但是它无法安装在 Eclipse 4.3.x 或者更新的版本中(在即将到来的 5.3.0 版本中将会解决这个问题)。
  3. 提升了 MBean 浏览器:现在能够直接在属性树中编辑可设置属性的值。通知标签页中的通知现在能够被扩展到多个。

你可以从JMC 发布说明中获取更多信息,同时 Oracle 也为此写了一篇博客

部署规则集

对于使用 Java Applet 和 Web Start 应用程序的企业而言,日益增长的安全提示的数量和管理用户为了运行应用程序所必须的权限是非常令人头痛的事情。部署规则集功能让一个企业能够建立一个已知应用程序的白名单。白名单上的应用程序不需要太多安全提示就能运行,但是下面的提示没有被取消:

  • HTTPS 安全警告
  • 需要用户提供连接证书的认证对话框
  • 未签名的 Java Web Start 应用程序在执行快捷方式创建和关联创建这样的操作时所发生的安全警告

部署规则会在一个 XML 文件中定义并打包到一个签名的 JAR 文件中。

部署规则集功能需要新的 Java 插件(Java SE 6 Update 10 之后的版本可用)。如果安装了一个部署规则集,那么所有 RIA 对老插件的使用都会被阻止。

对于公共应用程序而言规则集很容易被滥用,规则集指南中声明:

部署规则集功能是可选的,并且仅应该在拥有受控环境的组织的内部使用。如果一个包含了规则集的 JAR 文件是分布式的或者是对外公开的,那么用于签名规则集的证书将会被列入黑名单,并在 Java 中禁止使用。

小变化和 bug 修复

还有很多小变化,包括支持 Linux ARM v7 上的硬浮点 ABI,同时还修复了大量 bug——总共 621 个发布说明还明确指出视网膜屏幕现在将会正确地显示内容。

查看英文原文Java 7 Update 40 Arrives with Mission Control for HotSpot and Rule Sets for Applets

Java语言 & 开发