JEP 342 (“限制推测执行”)已从“ 草稿 ”状态转换为“ 候选 ”状态,但尚未针对特定的JDK版本(请参见图形以了解JEP流程中的步骤 )。 Jesper Wilhelmsson 写道 , JEP 342 “涵盖了使用新的C ++编译器选项来限制 JDK本机代码中的推测性执行的初步工作。” JEP 342的“摘要”简要描述了其目的:“通过提供一种限制推测执行的方法,并在未来的发行版中实现进一步的缓解措施,来帮助开发人员和部署人员防御推测执行('Spectre')漏洞。”

JEP 342的目的是在JDK中提供一个“独特的,备用的JVM,它使用” C ++“编译器选项进行编译,这些选项限制了CPU可以执行推测性执行的程度”,并且“可以在启动时进行选择”。 JEP声明该计划是“在JDK中包括一个独特的替代JVM,该JVM使用这些选项进行编译,并且可以在启动时进行选择。” JEP 342文本描述了受此JEP影响的特定C ++编译器和选项:

  • Linux gcc ( gcc 7.3.0 +)

    • -mindirect-branch = thunk
  • Windows VisualStudio ( Visual Studio 2017版本15.7 +)
    • / Qspectre

JEP 342描述了java启动程序的默认执行将继续保持今天的状态(避免避免推测性执行),但是具有命令行标志[ -nonspeculative ]来禁用推测性执行。 做出此决定的目的是避免始终禁止投机执行,因为它“应由最终用户决定是否限制投机执行”。 选择的能力很重要,因为正如JEP所述,“限制推测性执行...的影响对于HotSpot JVM中的C和C ++代码可能会非常重要,但对于JVM之外的C和C ++代码却可以忽略不计。 ” 值得注意的是,“非JVM代码”将始终使用新的C ++选项进行编译,以解决推测性执行,因为这些领域对性能的影响很小。

Spectre一直是对软件应用程序的多种威胁之一,很高兴看到应对这些潜在威胁的新可能性。

翻译自: https://www.javacodegeeks.com/2018/09/jep-342-the-jvm-and-spectre.html

JEP 342:JVM和幽灵相关推荐

  1. java11 是长期支持_这里有你不得不了解的Java 11版本特性说明

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  2. 今天,Java 12 正式发布了!

    自 2 月 7 日开始,Java 12 / JDK 12 就进入了 RC 阶段.按照发布周期,美国当地时间 3 月 19 日,也就是今天--Java 12 正式发布了! 全面学python的时代,作为 ...

  3. Java 12 要来了!

    近几个月,Java SE 即将收费的消息引发开发者内心的不安,不少人纷纷表示是时候弃 Java 而转战 Kotlin 战场,同时也有部分程序员仍静观其变.不过根据最新的消息,Java 12 即将于今年 ...

  4. java核心面试_前100多个核心Java面试问题

    java核心面试 Core Java interview questions help you in preparing for java based interviews. Whether you ...

  5. Java 12 / JDK 12 正式发布

    自 2 月 7 日开始,Java 12 / JDK 12 就进入了 RC 阶段.按照发布周期,美国当地时间 3 月 19 日,也就是今天--Java 12 正式发布了! Java 12 新特性 Jav ...

  6. Java 12 Lanzado:Versoóndescafeinada sin soporte largo plazo

    Dentro de la(en aopiniónbastante absurda)平台版本的" mayores" de laplataforma Java cada 6 meses ...

  7. Java版本之前世今生(一)

    Java版本之前世今生(一) 文章目录 Java版本之前世今生(一) **1. Oak 语言** **2. JDK Beta** **3. JDK 1.0** **4. JDK 1.1** **5.J ...

  8. 这些java名词你都了解嘛?JDK、openJDK、java EE、jre、jvm、jep、jar、jmod

    前言 在学习java的过程中,我们经常会遇到各种各样的缩写名词,虽然里面有一些不是必须了解的,不过作为java的学习者,我认为下面这些缩写词是很有必要知道的,不然不论是听别人交流还是看文档,都可能一头 ...

  9. jdk、openjdk、jre、jvm、jep、jar、jmod

    jdk Java Development Kit(java开发工具包的缩写),这个是每一个java初学者都应该知道的东西,毕竟没它就开发.运行不了.里面包含jre和一些开发.分析用的小工具(例如jar ...

最新文章

  1. 笑出腹肌的注释,都是被代码耽误的诗人!
  2. 多视图立体匹配论文分享:P-MVSNet
  3. 设计模式整理之简单工厂
  4. Code Review 是苦涩但有意思的修行
  5. Chrome上出现的问题
  6. Android设置text按钮,安卓基础控件使用(TextView、Button、ImageView、EditText)
  7. hdu 1811Rank of Tetris (并查集 + 拓扑排序)
  8. OpenShift Security 16 - 用 RHACS 为加固应用镜像安全提供线索
  9. 一行一行分析JQ源码学习笔记-03
  10. 按键精灵根据图片查找技巧
  11. 设计师出差必备的5款移动端设计软件
  12. 信息系统项目管理师考试是自学好还是找培训好?
  13. 一文读懂java内部类
  14. 云和恩墨zData多租户整合,青海移动数据库云化起航
  15. 邻菲罗啉二酰胺功能化/吡啶基改性纤维状介孔二氧化硅微球的应用
  16. 笔试题目---描述在浏览器中敲入一个网址并按下回车后所发生的事情
  17. MATLAB的M文件、MEX文件、MAT文件是什么 .如何打开(直接鼠标拖入相应区域)
  18. 串口通信数据格式与解析
  19. matlab三维矩阵变换,交换维度,交换两行
  20. revit sdk java api,REVIT 2016二次开发环境的搭建

热门文章

  1. Spring MVC请求url无效问题思考
  2. UserCF,基于用户的协同过滤算法
  3. Java基于socket服务实现UDP协议的方法
  4. [编程入门]阶乘求和:求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。
  5. IDEA导入Maven项目,pom.xml文件中 有inspects a maven model for resolution problems报错 !!!!!!!!!!有用
  6. php处理j数组,PHP Bean 类处理 数组处理
  7. 服务器 .err文件,IIS 关闭HTTPERR(IIS日志)的方法
  8. python遗传算法工具箱的使用_遗传算法的python实现,非常值得看的一篇文章
  9. java安全——数字签名+代码签名
  10. 网络——连接到server