时隔16年JeffBarr重返10.23-25 QCon上海站,带你看透AI如何重塑软件开发! 了解详情
写点什么

Java SE 6 Update 10 发布,有何新特性呢?

  • 2008-11-02
  • 本文字数:2741 字

    阅读完需:约 9 分钟

Java SE 6 Update 10(6u10)在 Beta 版发布一年、下载量超过 100 万之后终于发布了,它被称为“ Consumer JRE ”。该版本主要关注于 Java Plug-In ,Sun 借助此版本兑现了对增强的富客户端用户体验的承诺,并为即将到来的 JavaFX Desktop 1.0 做好了准备。

在 Java 6u10 中, Java Plug-In 采用了完全重新设计的架构。它运行一或多个 Java 虚拟机实例,这些实例可以连接到浏览器以与周围的 Web 页面进行完全的交互,而不像以前在运行浏览器的那个操作系统进程中执行 applets。这种架构上的变化具有很多优点,同时引入了几个新特性

  • 增强的可靠性。运行 applet 的 JVM 在操作系统层次上与浏览器隔离开来。如果在运行 applet 的过程中出现了问题,或者是某个 applet 无法关闭,新的 JavaPlug-In 就会检测到问题并优雅地处理错误情况;而 Web 浏览器并不会受到影响。
  • 内置的 JNLP 支持。新的 plug-in 可以直接从 JNLP 文件中加载 applets,这统一了浏览器内和浏览器外(通过 Java Web Start)Java 内容的部署。开发者现在可以重用 JNLP 扩展以获得高级功能,如 JavaFX 运行时库通过OpenGL 实现的3D 图形及applets 中的 planetary-scale terrain 可视化。Applets 现在可以访问 JNLP APIs 以进行持久化数据存储、本地文件系统访问、并完成其它有用的功能(通过沙箱代码)。
  • 基于单个 applet 的命令行参数。JVM 命令行参数可以指定给单个 applet,这就提供了更加精细的控制,如堆大小及 Java 2D 硬件加速特性。从 JNLP 中加载的 applets 将命令行参数与(或)系统属性合并到了 JNLP 文件中。旧式的 applets 可以在 Web 页面的 HTML 中嵌入这些参数。
  • 支持多个 JRE 版本。每个单独的 applet 实例都可以运行在不同的 JRE 上。该特性是面向企业用户的,他们更想让他们的 applets 运行在某个特定版本的 JRE 上,或者是特定的 JRE 家族上。新的 plug-in 既可以选择特定版本的 JRE,也可以选择特定的 JRE 家族。
  • 增强的 Java/JavaScript 通信。Web 浏览器中的 JavaScript 引擎与 Java 编程语言之间的桥梁已 被完全改写了。新的实现向后兼容,并且对 Java 与 JavaScript 之间相互调用的可靠性、性能和跨浏览器问题进行了重大改进。过去只能用在 Mozilla 中的“LiveConnect”功能,如调用静态的 Java 方法、实例化新的 Java 对象以及从 JavaScript 中引用第三方包,现在已被所有的浏览器支持了。
  • 改善的用户体验。新的 Java Plug-In 在后台启动 applets,这样 Web 浏览器就会一直保持响应。当 applets 出现在 Web 页面上时,它们就真的可以运行了。
  • 改进的 applet 生命周期管理。对 applet 生命周期方法init、start、stop 及 destroy的调用更加确定了,同时跨浏览器的行为也得到了改进。Applet 的类加载器缓存和以前的 applet 生命周期(保留其是为了向后兼容)都得到了完全支持,并且其行为也都得到了改进。
  • 更好的大容量堆的支持。此前,通过 Java 控制面板指定的 applets 最大堆空间很有限。新的 Java Plug-In 中修复了这种限制;applets 现在可以使用与命令行应用一样大的堆空间。
  • 对 Windows Vista 的支持更好。运行在 Windows Vista 中 IE 保护模式下的签名 applets 现在与常规的用户应用有着同样的权限,这减少了向 Windows Vista 移植的代价。

Java Plug-In 可用在 Internet Explorer 6 & 7 中,同时也可用在 Windows XP、Windows Vista、Solaris 及 Linux 上的 Firefox 3 中。现在 Mac 用户还无法使用它, Kirk Pepperdine 认为还需要再过一段时间

从过去的经历来看,Mac 用户还需要再等上一段时间才能使用上 Java Plug-In。

Jim Weaver设法在Google Chrome Beta 中运行了JavaFX applets 。看起来Chrome需要 Java 6u10:

根据 Google 所述, Chrome 浏览器必须使用 Java SE 6 Update 10 才能在其中运行 Java 。 正如我之前提到的,Java SE 6 Update 10 的一个目标就是解决 JRE 和 Java/JavaFX 的部署问题。Google Chrome 是一个很棒的、跨平台的浏览器,由于它需要该版本的 Java 以使得富客户端的 Java/JavaFX 程序更加灵活,因此这将提高 JavaFX applets 和应用的使用率。

之前版本的 JRE 已经达到了 14.5MB,因此其发布包常被 Java 社区所诟病。借助于 6u10,Sun 对部署进行了增强。Java Kernel 在线安装器可以使用户首次运行 applets 和 Java Web Start 应用时更快,而无需等待下载整个 Java 平台,因为默认的 Kernel 才 4-5MB。这种安装方式满足了大多数 Java applets 和应用的需要,同时也符合其他库的需要(在运行时可能会需要下载一些库以完成 Java Kernel 的安装)。此外,Java 的自动更新也得到了改进,这是通过即需即补(patch-in-place)的机制完成的,该机制使得用户可以更新 Java 平台中的特定组件而不是每次都下载并安装一个全新的 JRE。

Java Deployment Toolkit 还提供了基于 Java 的 Web applet/ 应用部署工具,该工具有一个简单的 JavaScript 接口,有助于检测用户的 Java 环境并确保使用了正确的 Java 版本

下面的 HTML 代码用来确保 Java 1.6 已被安装,然后会加载一个 Java applet: ```

复制代码

你可以查看 deployJava.js 来深入了解 deployJava 对象。

Java 6u10 的一个主要新特性就是 Java Quick Starter (JQS) ,它改善了大多数 Java applets 和应用的初始启动时间:

Windows XP 和 Windows 2000 默认会启动 JQS,在 Windows Vista 中则不是必需的,因为 Vista 有自己的预加载机制。一个叫做 jqs.exe 的进程会在后台运行以便快速启动。在 Window 重启后会加载 jqs.exe。 通过周期性地将一些常用的 Java 文件预先读取到内存中(不会超过 20Mb),实现了启动性能的改进。接下来加载 Java 时,只需要很少的磁盘 I/O,而这会使启动速度明显变快。

继续来谈性能,Java 6u10 充分利用了基于 Microsoft Direct3D 9 API 的硬件加速图形管道来改进 Swing 应用的渲染,而这是由多种因素决定的,包括半透明度、倾斜度、任意的转换及其它的更多高级 2D 操作。

Java 6u10 还提供了一个新的跨平台感官,叫做 Nimbus ,它是由 2D 矢量图绘制的。Nimbus 基于 Synth , 从 1.5 版开始 Synth 就是 Java 的一部分了,同时它为 Java UIs 提供了一个漂亮且现代感十足的感官。由于 Nimbus 完全用 Java 2D 矢量图而不是静态位图来绘制,因此它的大小只有 56KB,而且可以用任何方式进行渲染。有两种方式可以使用 Nimbus 感官,第一种是调用 UIManager.setLookAndFeel,第二种是在运行 Java 应用时传入 -Dswing.defaultlaf 命令行选项。

请查看 InfoQ 的 Java 社区以了解更多关于 Java 平台的信息。

查看英文原文: Java SE 6 Update 10 is out but what does it deliver?

2008-11-02 06:42952
用户头像

发布了 88 篇内容, 共 272.0 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

Rust 与 FFmpeg 实现视频水印添加:技术解析与应用实践

Yeauty

rust ffmpeg Video media audio

25年深圳企业办理等保合规流程指南

行云管家

网络安全 信息安全 等保

专家管理系统(源码+文档+讲解+演示)

深圳亥时科技

和鲸科技医疗智能体上线联想擎天平台:赋能医疗服务效率与质量

ModelWhale

原生APP和混合APP在性能方面的比较

北京木奇移动技术有限公司

APP开发 软件外包公司 APP外包

手把手教你用Java爬虫抓取淘宝商品信息(附完整代码)

代码忍者

淘宝API接口

原生APP和混合APP的开发方式

北京木奇移动技术有限公司

软件外包公司 APP外包公司 APP开发公司

用友BIP供应网络计划发布,驱动10000+节点的全球一张网智能运营

用友BIP

AI 数智化 用友BIP 数智采购 供应网络计划

给Web开发者的HarmonyOS指南02-布局样式

苏杰豪

鸿蒙 前端

新闻速递丨数字化再升级:Altair One 云端门户与 NVIDIA Omniverse 实时数字孪生蓝图完成全面整合

Altair RapidMiner

AI HPC 数字孪生 仿真 AltairOne

AI+低代码:企业数字化转型的双引擎

万界星空科技

AI 低代码 低代码平台 mes 万界星空科技低代码平台

火山引擎云上实战:QwQ-32B 大模型快速部署

火山引擎开发者社区

理解文字识别:一文读懂OCR商业化产品的算法逻辑

合合技术团队

人工智能 算法 文字识别 OCR #大数据

超级人工智能、具身智能与大世界模型:AI的未来之路

测试人

人工智能

替代 Airtable / 飞书表格?用零代码构建多对多关系的任务管理系统

NocoBase

开源 低代码 零代码 表格 任务管理系统

依赖腾讯云的音视频服务能力,构建一个高可用的在线直播平台

为自己带盐

腾讯云 直播

给Web开发者的HarmonyOS指南01-文本样式

苏杰豪

鸿蒙 前端 HarmonyOS NEXT

ERP 价值化国产替代白皮书正式发布!

用友BIP

AI 数智化 用友BIP ERP价值化国产替代

DeepSeek 3FS 架构分析和思考(上篇)

火山引擎开发者社区

原生APP和混合APP的开发成本

北京木奇移动技术有限公司

软件外包公司 APP外包 APP开发公司

中油燃气集团与用友战略签约,深入企业AI合作,打造行业智能化标杆

用友BIP

数智化 用友BIP 企业AI

数据驱动进化:AI Agent如何重构手机交互范式?

数据堂

人工智能 数据采集 数据集 大模型 AI Agent

智能制造:物联网和自动化之间的关系

积木链小链

数字化 智能制造 工业自动化

利用FinClip优化小程序支付链路的事件分析

xuyinyin

2025 全球人形机器人赛道大事件解读和发展趋势分析!!

机器人头条

科技 大模型 人形机器人 具身智能

APP开发的框架

北京木奇移动技术有限公司

软件外包公司 APP外包 APP开发公司

2025南京软件产业博览会(南京软博会)

AIOTE智博会

软件展 软博会 南京软博会

获取字节火山DeepSeek系列 API完整教程及超多实用玩法!

火山引擎开发者社区

DistilQwen2.5-R1发布:知识蒸馏助推小模型深度思考

阿里云大数据AI技术

人工智能 知识蒸馏 模型推理 PAI DistilQwen2.5

什么是最小权限原则?

运维有小邓

最小权限管理 零信任模型 AD域管理

第八届中国国际管道会议(CIPC)现已开启观众登记通道

江湖老铁

Java SE 6 Update 10发布,有何新特性呢?_Java_Dio Synodinos_InfoQ精选文章