JVM 的 -XX:+StressLCM、-XX:+StressGCM 选项

2023-11-22

和一些人玩的时候jcstress代码中,我注意到两个对我来说非常新的参数:StressLCM and StressGCM.

我要做的第一件事就是在源代码本身中搜索这些内容,虽然我找到了一些东西,但仍然不清楚它们是什么actually做。我真的希望在源代码中看到一些可以阐明一些观点的注释,但没有运气。

我还找到了错误描述添加了这些内容,但解释对我来说没有意义:

LCM/GCM 中的随机指令调度。

如果可能的话,有人可以用简单的英语解释他们是做什么的吗?


LCM / GCM 代表本地代码运动 / 全局代码运动。为了优化 CPU 利用率,编译器可以在不更改代码语义的情况下重新排序独立指令。编译器尝试找到最佳(从性能角度)的指令顺序。这称为指令调度,这就是 LCM / GCM 所做的事情。

With -XX:+StressLCM / -XX:+StressGCM选项指令调度的工作方式有点不同。它不再尝试寻找最佳调度,而是在允许的约束内选择随机指令顺序,仍然保持原始语义不变。这种不确定性行为有助于测试更多的指令交错组合,这对于发现微妙的并发问题至关重要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JVM 的 -XX:+StressLCM、-XX:+StressGCM 选项 的相关文章

  • Android 2.2 SDK - Droid X 相机活动无法正常完成

    我注意到我在 Droid X 上调用的默认相机活动与我的 Droid 和 Nexus One 上的默认相机活动看起来不同 在 Droid 和 Nexus One 上选择 确定 后 活动将完成 Droid X 有一个 完成 按钮 它将带您返回
  • 使用cameltestsupport进行Camel单元测试,模板始终为空

    我正在用 Camel 做一个简单的单元测试 我想做的就是从文件 在资源下 读取 JSON 内容 将其发送到 Java 类进行验证 这是我试图测试的路线 无论我做什么 模板 我用来发送正文 json 始终为空 这是我的代码 public cl
  • 无法使用maven编译java项目

    我正在尝试在 java 16 0 1 上使用 maven 构建 IntelliJ 项目 但它无法编译我的项目 尽管 IntelliJ 能够成功完成 在此之前 我使用maven编译了一个java 15项目 但我决定将所有内容更新到16 0 1
  • 如何从秘密字符串中制作 HMAC_SHA256 密钥以在 jose4j 中与 JWT 一起使用?

    我想生成 JWT 并使用 HMAC SHA256 对其进行签名 对于该任务我必须使用jose4j https bitbucket org b c jose4j wiki Home 我尝试根据秘密生成密钥 SecretKeySpec key
  • 如何在 JSP 中导入类?

    我是一个完全的JSP初学者 我正在尝试使用java util List在 JSP 页面中 我需要做什么才能使用除以下类之外的类java lang 使用以下导入语句进行导入java util List 顺便说一句 要导入多个类 请使用以下格式
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • Condition 接口中的 signalAll 与对象中的 notificationAll

    1 昨天我才问过这个问题条件与等待通知机制 https stackoverflow com questions 10395571 condition vs wait notify mechanism 2 我想编辑相同的内容并在我的问题中添加
  • 内存一致性 - Java 中的happens-before关系[重复]

    这个问题在这里已经有答案了 在阅读有关内存一致性错误的 Java 文档时 我发现与创建 发生 之前 关系的两个操作相关的点 当语句调用时Thread start 每个具有 与该语句发生之前的关系也有一个 与 new 执行的每个语句之间发生的
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • Java 数组的最大维数

    出于好奇 在 Java 中数组可以有多少维 爪哇language不限制维数 但是JavaVM规范将维度数限制为 255 例如 以下代码将无法编译 class Main public static void main String args
  • 无法加载或查找主类,可以在命令行中使用,但不能在 IDE 中使用[重复]

    这个问题在这里已经有答案了 在将其标记为重复之前 请先听我说完 我正在尝试使用 gradle 导入一个 java 项目 功能齐全 适用于所有其他笔记本电脑 没有问题 我的项目 100 正常运行 适用于所有其他笔记本电脑 当我的笔记本电脑被重
  • Java - 返回值是否会中断循环?

    我正在编写一些基本上遵循以下格式的代码 public static boolean isIncluded E element Node
  • Cloudfoundry:如何组合两个运行时

    cloundfoundry 有没有办法结合两个运行时环境 我正在将 NodeJS 应用程序部署到 IBM Bluemix 现在 我还希望能够执行独立的 jar 文件 但应用程序失败 APP 0 bin sh 1 java not found
  • 在 Spring Boot Actuator 健康检查 API 中启用日志记录

    我正在使用 Spring boot Actuator APIproject https imobilenumbertracker com 拥有一个健康检查端点 并通过以下方式启用它 management endpoints web base
  • 如何在 Quartz 调度程序中每 25 秒运行一次?

    我正在使用 Java 的 Quartz Scheduling API 你能帮我使用 cron 表达式每 25 秒运行一次吗 这只是一个延迟 它不必总是从第 0 秒开始 例如 序列如下 0 00 0 25 0 50 1 15 1 40 2 0
  • Java:拆箱整数时出现空指针异常?

    此代码导致空指针异常 我不知道为什么 private void setSiblings PhylogenyTree node Color color throws InvalidCellNumberException PhylogenyTr
  • Java的-XX:+UseMembar参数是什么

    我在各种地方 论坛等 看到这个参数 并且常见的答案是它有助于高并发服务器 尽管如此 我还是找不到 sun 的官方文档来解释它的作用 另外 它是Java 6中添加的还是Java 5中存在的 顺便说一句 许多热点虚拟机参数的好地方是这一页 ht
  • Java:多线程内的 XA 事务传播

    我如何使用事务管理器 例如Bitronix http docs codehaus org display BTM Home JBoss TS http www jboss org jbosstm or Atomikos http www a
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • JAXB - 列表<可序列化>?

    我使用 xjc 制作了一些课程 public class MyType XmlElementRefs XmlElementRef name MyInnerType type JAXBElement class required false

随机推荐

  • 比较 groovy 中的版本字符串

    嘿 我创建了一个 Groovy 脚本 它将提取某些文件夹的版本号 然后我想比较版本号并选择最高的 我让脚本在 dir 文件夹中运行 然后获取以下格式的版本 02 2 02 01 所以我可以得到这样的东西 02 2 02 01 02 2 02
  • 用于 Python 的 MS Analysis Services OLAP API [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在寻找一种方法来连接到 MS Analysis Services OLAP 多维数据集 运行 MDX 查询并将结果提取到 Python 中 换句话说 这正是 Excel 所做
  • 如何配置我的 iPhone 项目以使用单独的应用程序图标进行测试版

    我想要实现的是 我发送给 Beta 测试人员的构建中的应用程序图标与将提交审批的应用程序图标不同 这将使我和我的 Beta 测试人员能够轻松识别该应用程序是 Beta 版本 我不确定是否应该添加构建脚本来修改 info plist 并更改其
  • 如何将 Swift 结构作为参数传递给 Objective-C 方法

    我有一个接受类型参数的 Objective C 方法id我想向它传递一个 Swift 结构 ObjcClass m file implementation ObjcClass void addListener id listener Do
  • 在自定义活动设计器中将数据绑定到组合框

    我有一个自定义活动 有一个参数是一个字符串 但是 我不想让设计者输入任意字符串 而是希望向设计者提供一个带有选项列表的组合框 这些选项是动态的 并且从数据库加载到 List 集合中 我的问题是我不知道如何将设计器中的组合框绑定到此列表并将选
  • 通过网络读取和解析大型文本文件的最佳方法是什么?

    我遇到一个问题 需要我解析远程计算机上的多个日志文件 有一些并发症 1 该文件可能正在使用中 2 文件可能很大 100mb 3 每个条目可以是多行 为了解决使用中的问题 我需要先复制它 我目前正在将其直接从远程计算机复制到本地计算机 并在那
  • 如何在Python中的散点图上绘制一条线?

    我有两个数据向量 并将它们放入pyplot scatter 现在我想对这些数据绘制线性拟合 我该怎么做 我尝试过使用scikitlearn and np polyfit import numpy as np from numpy polyn
  • 对具有原始数字返回类型的方法的反思

    我目前正在开发一个小型框架来收集 OSGi 系统中的指标 它的核心是注释 Metric 它指示服务的给定方法可以在被请求时提供度量 例如数值 这些方法看起来像 Metric public int getQueueSize or Metric
  • maven没有找到类

    我继承了一个巨大的maven java项目 但无法编译它 mvn compile 它告诉我它找不到一个类 即使它就在本地仓库中 Failed to execute goal org codehaus enunciate maven enun
  • 如何在 Ruby 中实现抽象类

    我知道 Ruby 中没有抽象类的概念 但如果需要实施的话 我该如何实施呢 我尝试过这样的事情 class A def self new raise Doh You are trying to write Java in Ruby end e
  • 从wcf服务返回html

    我有一个网络服务 我需要从中返回一个包含 html 的字符串 此 html 是 Select 控件的标记 用于 jqGrid 搜索过滤器 例如
  • 计算函数返回值的最佳实践

    我经常用 C 语言构建函数来检查一些参数并返回错误代码 当我发现错误时停止值检查的最佳方法是什么 第一个例子 ErrorCode e myCheckFunction some params ErrorCode e error CHECK F
  • 以编程方式更改 R.String 的值

    您可以在 Android 程序中以编程方式更改 R string 的值吗 我需要提取一些 API 信息 例如电池状态 电池百分比 android 操作系统版本 并希望将其保存为 R string 值 我知道怎么读 String helloV
  • 如何通过简化 R 中的两个 SpatialPolygonsDataFrame 对象来创建新的多边形?

    假设我有两组形状文件 它们覆盖同一区域 并且经常但并不总是共享边界 例如美国各县和 PUMA 我想定义一个新的多边形规模 它使用 PUMA 和县作为原子构建块 即两者都不能分割 但我仍然希望有尽可能多的单位 这是一个玩具示例 library
  • 如何通过 ssh 执行 Bash 别名

    这就是我想做的 ssh andy
  • 为什么 -1>strlen(t) 在 C 中为真? [复制]

    这个问题在这里已经有答案了 在 VS2013 中处理这一小段代码 但由于某种原因它没有打印 似乎 1 gt strlen str 任何人都知道我做错了什么 char str abcd if 1
  • “gcc 链接”和“ld 链接”之间有什么关系?

    据说linux的加载器是 usr bin ld 但通常我们使用gcc g 来链接库和可执行文件 我们很少使用 ld 上次我手动使用 ld 是在学习linux汇编时 生成可执行文件的唯一方法是ld一个 o文件直接生成可执行文件 无需任何库 我
  • 如何使用 Javascript 中的“views.py”、Django 模板中的“”中的变量?

    当我使用 Django 模板渲染器渲染页面时 我可以传入一个包含各种值的字典变量 以便在页面中操作它们 myVar 有没有办法在 JavaScript 中访问相同的变量 也许使用DOM 我不知道Django如何使变量可访问 我希望能够使用查
  • Vagrant/VirtualBox/Apache2 奇怪的缓存行为

    我正在使用 Vagrant 来运行 Ubuntu 驱动的 VirtualBox 和 Apache2 除其他外 网络服务器还提供我的 vagrant 目录中的静态文件 这在大多数情况下都很有效 但是 当我更改共享文件夹上的图像并重新加载网站时
  • JVM 的 -XX:+StressLCM、-XX:+StressGCM 选项

    和一些人玩的时候jcstress代码中 我注意到两个对我来说非常新的参数 StressLCM and StressGCM 我要做的第一件事就是在源代码本身中搜索这些内容 虽然我找到了一些东西 但仍然不清楚它们是什么actually做 我真的