阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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:301137

评论

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

炸了!3年图片都没了

艾小仙

什么是网关型堡垒机?与运维审计堡垒机有什么区别?

行云管家

堡垒机 堡垒机网络安全

用Docker在本地搭建nginx静态服务器&反向代理

致知Fighting

Java Docker 后端

墨天轮【第二届数据库掌门人论坛】圆满收官 | 含嘉宾精彩观点回顾

墨天轮

数据库 Serverless TiDB oceanbase 国产数据库

了解医疗上云门道,尽在“共铸国云 红云行业思想汇”!

天翼云开发者社区

英特尔研究院探索负责任的生成式AI,让AI应用真正惠及大众

科技之家

拥有了瓴羊Quick BI,企业的数据分析变得更好

巷子

利用DUCC配置平台实现一个动态化线程池

京东科技开发者

spring 多线程 代码 动态线程池 ducc

国际财务系统基于ShardingSphere的数据分片和一主多从实践

京东科技开发者

数据库 数据分片 ShardingSphere 企业号 2 月 PK 榜 一主多从

可靠、稳定、安全,龙蜥云原生容器镜像正式发布!

OpenAnolis小助手

开源 容器 云原生 镜像 龙蜥社区

瓴羊Quick BI可视化功能,满足企业的数据分析需求

对不起该用户已成仙‖

百分点科技宣布接入百度文心一言能力 数据科学基础平台获领先AI技术加持

百分点科技技术团队

直播 | StarRocks 实战系列第二期--导入优化&问题排查

StarRocks

数据库 开源

聚焦现代化应用安全,F5的安全扩增,稳了!

F5 Inc

架构 安全 API 应用

关系型数据库的架构演变

石臻臻的杂货铺

数据库 架构

使用 Ingest Pipeline 在 Elasticsearch 中对数据进行预处理

Se7en

电阻为什么都是4.7kΩ、5.1kΩ,而不是整数5kΩ?

元器件秋姐

科普 元器件 元器件知识 电阻 电阻值

QCon演讲实录(下):多云管理关键能力实现与解析-AppManager

阿里云大数据AI技术

大数据 运维 多云服务 多云管理

基于开源IM即时通讯框架MobileIMSDK:RainbowChat v8.4版已发布

JackJiang

即时通讯 即时通讯IM

WorkPlus即时通讯集成工作平台,提效企业一体化管控

WorkPlus

连续两年榜上有名!TDengine 荣获墨天轮“2022 年度时序数据库”奖项

TDengine

数据库 tdengine 时序数据库

安全可信| 首批!天翼云智算平台率先通过可信算力服务评估

天翼云开发者社区

多款社交黑马海外霸榜,融云全球通信服务护航登顶

融云 RongCloud

完美主义者友好!合合信息旗下扫描全能王“智能擦除”照片中的杂物

合合技术团队

人工智能 图片 文本

程序员超级干货书单:技术人必看

引迈信息

程序员 敏捷开发 书单

大模型为什么是深度学习的未来?

蓝海大脑GPU

人工智能 深度学习 大模型

更专业、安全、可控!政企都选择WorkPlus私有化部署

WorkPlus

Maven Shade插件relocation修改类常量的问题

Laughing

Java 后端 Maven-Shade-Plugin RelocationClass

飞桨框架v2.4 API新升级!全面支持稀疏计算、图学习、语音处理等任务

百度Geek说

API 框架 3D点云 企业号 2 月 PK 榜 Sparse Transformer

黑龙江哈尔滨市等保测评机构有五家啦!名单看这里!

行云管家

等保 机构 等保测评 哈尔滨

90%企业在探索的敏捷开发怎么做?极狐GitLab总结了这些逻辑与流程

极狐GitLab

DevOps 敏捷开发 持续集成 CI/CD 持续交付

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