我是靠谱客的博主 害怕耳机,最近开发中收集的这篇文章主要介绍jdk 1.8 内存可见性_JDK 14中的常规,安全和确定性外部内存访问,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

jdk 1.8 内存可见性

在“ JDK 14 Rampdown:Build 27 ”一文中,我总结了JDK 14 Early Access Build #27中新增的许多针对JDK 14的功能。 已经存在另一种JDK 14 Early Access Build,并且此[ Build 28(2019/12/18) ]包含一项特别有趣的功能:增强JDK-8234049 [“ Memory Access API(Incubator)的实现”。 这是JEP 370 [“ 外部存储器访问API (Incubator)”的实现,其摘要为:“引入API以允许Java程序安全有效地访问Java堆之外的外部存储器。”

JEP 370旨在实现一种提供“通用性”,“安全性”和“确定性”的“外部存储器API”(在JEP中对每种方式进行了详细描述)。 JEP还指出,此外部内存API旨在替代当前使用的方法( java.nio.ByteBuffer和sun.misc.Unsafe )。 JEP中讨论了这两个当前可用替代方案的缺点和局限性。

JEP指出,库“访问外部内存”是为了“避免垃圾回收所带来的成本和不可预测性”,“在多个进程之间共享内存”以及“通过将文件映射到内存来对内存内容进行序列化和反序列化”。 它补充说:“ Java API不能为访问外部内存提供令人满意的解决方案。”

JEP 370的“描述”部分介绍了外部存储器访问API的实现。 本节开始于:“外部存储器访问API引入了三个主要的抽象: MemorySegmentMemoryAddressMemoryLayout 。” 然后,本节描述了这三个主要抽象:“ MemorySegment用于对具有给定空间和时间范围的连续内存区域进行建模。 可以将MemoryAddress视为段内的偏移量。 最后, MemoryLayout是内存段内容的程序化描述。”

在使用外部存储器访问的几个详细示例之后,JEP的“描述”部分指出:“外部存储器访问API最初将作为一个孵化模块(名称为jdk.incubator.foreign )以相同的名称提供。 ”

OpenJDK邮件列表消息中提供了与JEP 370相关的其他背景详细信息。 一个关键线程以消息“ RFR JDK-8234049:Memory Access API(Incubator)的实现 ”开头。 此JEP的CSR [ JDK-8234050 :内存访问API的实现(孵化器)]提供了其他有用的描述。 也可以在http://cr.openjdk.java.net/~mcimadamore/panama/memaccess_javadoc/jdk/incubator/foreign/package-summary.html上临时获得基于Javadoc的外部内存访问API文档。

JEP 370实现包含在JDK 14 Early Access Build#28中,可以试用。

翻译自: https://www.javacodegeeks.com/2020/01/general-safe-and-deterministic-foreign-memory-access-in-jdk-14.html

jdk 1.8 内存可见性

最后

以上就是害怕耳机为你收集整理的jdk 1.8 内存可见性_JDK 14中的常规,安全和确定性外部内存访问的全部内容,希望文章能够帮你解决jdk 1.8 内存可见性_JDK 14中的常规,安全和确定性外部内存访问所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部