没有对象 -> 没有 GC => 改进的延迟)......而不是所有业务使用原语处理逻辑。 不过,我-6ren">
gpt4 book ai didi

java - 对仅使用原语编码的 Java 程序的引用

转载 作者:搜寻专家 更新时间:2023-10-30 21:16:31 26 4
gpt4 key购买 nike

我听说 Java 程序具有严格的延迟要求,其中"new"指令从不使用或很少使用(因为没有新的 => 没有对象 -> 没有 GC => 改进的延迟)......而不是所有业务使用原语处理逻辑。

不过,我无法在网上找到有关此技术的引用资料...任何指向讨论此技术或代码片段的网页的链接都将不胜感激。

最佳答案

更新(2012 年 3 月):虽然没有可用的公告,但 Oracle 似乎已经关闭了他们的 JavaRTS 组。

您应该查看的两个主题是 Real-Time Specification for Java (JSR-1,JSR-282)和Safety-Critical Specification for Java (JSR-302) ,(aonix page)。 RTSJ 提供了用于执行您在问题中谈到的仔细内存管理类型的资源,尽管 RTSJ 的大多数用户可能容忍比“全基元”方法更大的抖动(并且,对于这种容忍度,他们得到使用 RTGC 的 GC 的好处)。有关有限分配类型的一些示例(限制您可以使用 new 的时间/地点/次数)搜索“rtsj 作用域内存规则”,这里是 example academic paper on the topic .你还应该看看 "eventrons"作为尝试以(相对)干净的方式解决 Java 中这些高频、低延迟约束的示例。

有关使用 JavaRTS in trading contexts, see here 的具体新故事.有关如何获得最大 yield 的一些说明 deterministic behavior out of JavaRTS in particular, see here .

Safety-Critical 用户更有可能有这些类型的约束,而 SC-Java 是(预计)部分是 RTSJ 的缩小版本。您可以在 Doug Locke's 2007 status slides from JTRES 中查看专家组所关注内容的一些示例。 .

一些人开发了旨在在这种环境中使用的 JVM。 Aonix/Atego's PERC ; aicas' JamaicaVM ; Apogee's Aphelion . Sun/Oracle JavaRTS 的目标是更大型的应用程序,这些应用程序可以容忍(并受益于)不太严格的约束。

虽然您引用的“全原语”方法是此类编程的一种极端形式,但您最有可能在上述引用资料之一中找到有关该主题的资源。

对于“原语中的业务逻辑?”我上面的反对者请注意,大量的 IRS 税收业务逻辑是在 IBM 汇编器中实现的,并且正在研究一些像 Java 这样的“企业”层来包装(而不是替换!)该逻辑。把它放进你的 pipe 里抽。

我不能在这里引用任何细节,但是有许多使用 Java(通常是 RTSJ 的一种风格)的防御应用程序对内存分配有非常严格的限制,并且大部分代码是静态分配的,以原始为中心.信号处理等...我在我所知道的系统上搜索了开源 Material ,这些文档(尤其是参见引用部分)为这些应用程序的一些特定示例指明了方向。

关于java - 对仅使用原语编码的 Java 程序的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4070258/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com