【问题标题】:Source of Java9Memory in ChronicleChronicle 中 Java9Memory 的来源
【发布时间】:2018-02-11 12:03:43
【问题描述】:

我对 openHFT 项目使用的堆外机制感到好奇,我正在寻找下面源代码定义的类文件(在 github 中的任何地方都找不到):

Class<? extends Memory> java9MemoryClass = Class
                    .forName("software.chronicle.enterprise.core.Java9Memory")
                    .asSubclass(Memory.class);

来自 github 存储库:https://github.com/OpenHFT/Chronicle-Core/blob/master/src/main/java/net/openhft/chronicle/core/OS.java

我的问题是:这个类是开源的吗?如果是,它是如何工作的?谢谢。

【问题讨论】:

标签: java chronicle off-heap


【解决方案1】:

这个类不可用,将来会被删除。

我们当前实现 Java9 兼容性的方法是发布针对目标语言级别 1.8 构建的 OpenHFT 工件。 Java 运行时中的任何不兼容性(例如类重命名)都将通过使您的程序需要包含 Java9 特定覆盖的 Java9 模块来处理。

回答您关于该类如何工作的问题 - 在版本 9 JVM 上运行时,Chronicle 库将继续使用 sun.misc.Unsafe。必须手动将导出添加到命令中才能允许这样做,例如:

--add-exports=java.unsupported/sun.misc=ALL-UNNAMED

【讨论】:

    【解决方案2】:

    Java 9 支持是独立的,因为它是一个移动的目标,但是如果您需要在 Java 9 上运行,我们会将其添加为您可以包含的子模块。这仍在进行中。

    【讨论】:

    • 这个人自己哇!向你和 BalusC 致敬。自从现在退役的太阳论坛以来一直是粉丝。 (诅咒你,甲骨文!)感谢你过来回答我的问题。
    猜你喜欢
    • 2022-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    相关资源
    最近更新 更多