写点什么

Java 进入实时领域

  • 2007-05-22
  • 本文字数:1444 字

    阅读完需:约 5 分钟

在 Java One 上 Sun 最终宣布了 JSR-1(2006 年 7 月最终定稿的 Java 实时规范)第一个实现的发布。根据 JSR 的定义,实时规范是用来支持“在线程调度,同步额外开支(Synchronization Overhead),锁队列顺序,类的初始化,最大中断响应反应时间以及垃圾回收特性等各个方面需要很强的确定性保证和控制能力的”系统。

Sun 的这个实现,又被称为 Sun Java 实时系统(Real-Time System,RTS)2.0 ,将通过常规的 OEM 渠道提供给开发人员。

营销卖点

RTS 2.0 基于 Java 5 并遵循 JSR1 规范,提供了一个健壮的实时时序调度系统(Scheduling System)。这个系统的核心(Centerpiece)是一个实时垃圾回收器,这是一个高度可配置且非常具有可预测性的垃圾回收器。(它不会在所有的硬件平台上都很有效率,因为有些平台没有对真正的实时系统提供必要的硬件支持,但是 RTS 依然能提供较好的控制性和可预测性)。对 RTS 的支持已集成到 NetBeans 了。

RTS 与 WebLogic 实时系统的比较:我也一样吗?

如 Bill Roth 昨天在他的 Blog 里间接提到的那样,两年前 BEA 发布了一个 Java 实时系统,它设计用来减少垃圾回收对 Java 应用系统性能的影响,并增加这些应用系统的可预测性。其目的是平滑性能,减少由于长时间的垃圾回收带来的性能干扰。Sun 在实时 Java 方面的资深工程师 Greg Bollella 评价说这对实时垃圾回收来说只是一个较少暂停(Low Pause)的方法。所以为什么不把更多的注意力投向 RTS 2.0 呢?

RTS 2.0 强调的是系统的可预测性,这是与 JSR1 规范相一致的。正如以前在InfoQ 上报导的,WebLogic 的实时提供了小于30 毫秒的反应时间,这对标准的垃圾回收来说是一个引人注目的改进。虽然Sun 对“实时”的解释是这样的一个实现中要保证来自垃圾回收的干扰小于200 毫秒,开发人员通过一些额外的工作能控制更多的可预见性工作的执行,从而摆脱垃圾回收带来的不良影响。

开发人员的看法

实时垃圾回收器在它自己的一个单独线程中运行,它有一个赋给它的优先级。当一个开发人员创建了一个java.lang.RealtimeThread 并赋给它一个优先级,这个优先级可以高于也可以低于垃圾回收器的优先级。如果优先级高于垃圾回收器,此线程将只在垃圾回收过程中特定的临界区域(Critical Sections)等待垃圾回收器。根据Greg 的分析,这些临界区域的典型执行时间不会超过120 毫秒。

对那些需要更多控制权的系统来说,还有更复杂的java.lang.NoHeapRuntimeThread(NHRT)可以用。一个NHRT 在它自己私有的堆上进行操作,在垃圾回收器之外,因此在通常条件下它不需要等待垃圾回收器。NHRT 唯一的延迟来自Solaris 10 的分发系统(Dispatching System),一般会引起10 毫秒内的延迟。

好的实时编程方法还在设计中(The key to good real-time programming is still in design)。RealtimeThread 严重依赖于用于调整实时垃圾回收器的命令行参数,不适当的调节参数会导致线程等待垃圾回收器释放内存。NHRT 的复杂性非常显著:因为Java 开发人员必须学会管理他们的私有堆(NHRT 和正常堆中的对象之间的通信也很复杂)。

下一步如何?

Greg Bollella 还提供了他未来实时 Java 的深入见解。RTS 2.1 可能会包含一些工具以及一些有用的脚本和指南。这些工具用于帮助开发人员调整所有重要的用于管理实时垃圾收集的命令行参数。可能还会添加对垃圾收集的“人体工程学(Ergonomic)”调优的支持。RTS 2.0 还没有支持 JSR 282 中的扩展特性,也没有考虑 JSR 302 中关于重大安全要求的支持,后者能为系统的提升提供充足的机会。

查看英文原文: Java Goes Real Time

2007-05-22 19:301356

评论

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

如何进行知识管理

易成研发中心

知识管理 知识管理系统 知识管理软件

中层干部如何管理不合作的员工

易成研发中心

企业管理

在SAP Fiori界面上的ME53N事务

SAP虾客

SAP S/4HANA SAP Fiori ME53N

成都某自研公司一面

王中阳Go

Go 面试题

数据驱动商业智能决策 引领品牌迈向高利润之路

第七在线

AI口语陪练APP的主要功能

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

软件外包公司 AI口语陪练 AI口语练习

「阿里巴巴」独投的人形机器人公司,再获“产业派”大佬独投!!

机器人头条

阿里巴巴 投资 大模型 人形机器人 具身智能

高成长、高潜力、高社区影响!镜舟科技入选 2024 中国新锐技术先锋企业

镜舟科技

开源 分析型数据库 StarRocks SegmentFault

在SAP Fiori界面上的VF03事务

SAP虾客

SAP Fiori SAP S4HANA VF03

10个案例详解AnimatableExtend装饰器定义可动画属性

威哥爱编程

HarmonyOS HarmonyOS NEXT HarmonyOS5.0

又有多位自动驾驶技术“大牛”,进入具身智能机器人赛道

机器人头条

自动驾驶 机器人 大模型 具身智能 人形机器他

优雅的@ObservedV2和@Trace装饰器

威哥爱编程

HarmonyOS HarmonyOS框架 HarmonyOS NEXT HarmonyOS5.0

从接口超时到RAID

Qunar技术沙龙

后端 io 优化 raid

公开课 | 提高测试用例编写效率,掌握经典用例设计技巧!

测试人

软件测试

为什么企业越大,越难实现数字化

积木链小链

企业管理 数字化 制造业 ERP

Go 并发控制:singleflight 详解

江湖十年

域控制器升级的先决条件验证失败怎么办?

运维有小邓

windows AD域 IT运维管理

测试匠谈 | 微信H5兼容性测试理论和实践经验

优测云服务平台

测试 兼容性测试 微信H5

2024华为云开源开发者论坛顺利召开,引领开放创新,共筑数智未来

新消费日报

媒体集团建设融媒体中心,特色化实践不断

FinFish

小程序容器 小程序技术 智慧传媒 融媒体中心 媒体转型

Java进入实时领域_Java_Chris Greenlee_InfoQ精选文章