急切的 java 类加载

2024-03-10

我正在尝试对在各种硬件和操作系统平台上运行的 JVM 进行一些基准测试。我创建了一个算法来练习 JVM 中我感兴趣的部分,并打算多次运行该算法以找到一个合适的平均值。

当我运行基准测试时,我发现第一次运行明显长于后续运行:

132ms
86ms
77ms
89ms
72ms

我怀疑类是延迟加载的,在第一次运行时会产生很大的开销。虽然我认为这确实是每个 JVM 独有的一项功能,但目前我对此并不感兴趣。

是否有标准的命令行选项或属性来急切地加载类?或者有人有其他理论吗?


最简单的做法是忽略第一次运行。 (如果这是一件有效的事情) 注意:如果您运行相同的代码 10,000 次,它将进一步编译代码并获得更好的结果,因此您可能需要忽略某些微基准测试的前 10K 结果。

有些 JVM 支持急切加载,但我认为 Sun 的 JVM 不支持。

JWrapper支持AOThttps://www.jwrapper.com/features https://www.jwrapper.com/features

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

急切的 java 类加载 的相关文章

  • Maven 未运行 Spring Boot 测试

    我有一个要测试的 Spring Boot REST API 我可以在 Eclipse 中手动运行测试 无需 Maven 并通过将应用程序作为 JUnit 测试运行 它运行良好并显示结果 但是mvn test正如您将在下面发现的那样 它不起作
  • 使用可执行 JAR 时指定 Log4j2 配置文件

    使用可执行 JAR 文件时 我在指定 Log4j2 配置文件位置时遇到问题 如果我将所有 JAR 分开 效果很好 但是当我尝试将它们组合成一个可执行 JAR 文件时 由于某种原因log4j2 xml未从命令行获取文件 我尝试过这两种指定位置
  • Mockito 匹配器和基元数组

    有了 Mockito 我想verify 方法调用byte 在它的参数列表中 但我没有找到如何写这个 myMethod byte 我只想要类似的东西anyByteArray 如何使用 Mockito 做到这一点 我会尝试any byte cl
  • 使用 Firebase Java API 检索/格式化数据的最佳方式

    我在用着Firebase用于数据存储Android项目 并使用Firebase Java API来处理数据 不过 我不确定我是否尽可能高效地完成此操作 并且我希望获得一些有关检索和格式化数据的最佳实践的建议 我的Firebase存储库看起来
  • 用Java截取网页的屏幕截图[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有一个免费的工具可以读取给定的网页并截取它的屏幕截图 我使用 VirtualFramebuffer 和 Firefox Binary
  • 为什么需要添加工件 JSR305 才能使用 Guava 14+?

    在stackoverflow上查找信息时 我看到了一个与我类似的问题 但没有真正的答案here https stackoverflow com questions 3800033 guava r07 gwt and javax annota
  • 是否可以将 BitmapDescriptor 转换为 Bitmap?

    我需要将 BitmapDescriptor 转换为 Bitmap 我可以使用以下代码将位图转换为 BitmapDescriptor BitmapDescriptor bd BitmapDescriptorFactory fromBitmap
  • 原型组件的 Spring 事件处理

    假设我有两个组件 X 和 Y 其中 X 是单例 而 Y 不是 当我发布XUpdateEvent时 没有问题 我可以捕获该事件 但是 对于 YUpdateEvent 我无法捕获事件 Spring 为每个触发的事件创建新实例 而不是使用已经创建
  • 如何统计lucene索引中每个文档的term数?

    我想知道 lucene 索引中每个文档的术语数量 我一直在 API 和互联网上搜索 但没有结果 你能帮助我吗 Lucene 的构建是为了回答相反的问题 即哪些文档包含给定术语 因此 为了获取文档的术语数量 您必须进行一些修改 第一种方法是存
  • 自 Java 7 以来 HttpServer 延迟 1 秒

    我们正在使用内部HttpServer项目中的类 用于通过 HTTP 在客户端和服务器之间交换数据 当我们切换到 Java 7 时 我们意识到结果交付存在延迟 我们可以将问题简化为以下示例 Class EchoServer创建上下文 echo
  • Java Swing 组件的命名约定(前缀)

    在 Java 中使用 Swing 进行编程时 我想到的一个问题是 它是 Swing 组件的推荐还是 官方 最常用的命名约定 前缀 例如 尽管其他人可能更喜欢其他命名约定 但这就是我当前正在使用的 JTextField 的 txt JButt
  • 使用 Spring 的 SimpleNamingContextBuilder 的应用程序如何知道在其目录中搜索资源?

    使用 Spring 的应用程序如何SimpleNamingContextBuilder http static springsource org spring docs 3 0 x api org springframework mock
  • 如何在 Jersey RESTful Web 服务中放置 cookie?

    我想通过 Jersey API 将 cookie 从 PUT webservice result 放置到 POST webservice 这是我的代码 WebResource service1 client resource http te
  • Eclipse:对 Java 1.7 的失望(未绑定库)

    我在全新安装的 Eclipse 中处理全新项目时遇到问题 重现步骤 下载此版本的 Eclipse http www eclipse org downloads packages eclipse ide java developers hel
  • 是否可以使用“WHERE”子句来选择SQL语句中的所有记录?

    晚上好 我很好奇是否可以在 SQL 语句中创建一个 WHERE 子句来显示所有记录 下面一些解释 随机 SQL 语句 Java JSP示例 正常情况 String SqlStatement SELECT FROM table example
  • 用于计算句子中单词数的正则表达式

    public static int getWordCount String sentence return sentence split a zA Z0 9 a zA Z0 9 1 length sentence replaceAll a
  • Guice 字段注入不起作用(返回 null)

    我在使用 Guice 时遇到空值问题 接下来我将向您展示一个类似场景的示例 我知道字段注入是一种不好的做法 但我希望它在演示中像这样工作 我有一个名为B 这是我要注入的 class B Inject public B public void
  • 通过命令行参数更改默认的 ant 目标

    最近我被分配了一个任务 让ant能够为不同的环境构建war包 除了一项功能外 我几乎完成了 蚂蚁接受一个env参数类似 Denv DEV 并使用不同的配置文件来制作war包 但默认目标是start它将构建 部署并启动 tomcat 我不希望
  • 如何使用属性文件在log4j2中创建多个日志文件?

    我正在使用 property 文件在特定路径中创建日志文件 但我正在使用它创建单个文件 以下是我的属性文件代码 status error dest err name PropertiesConfig property filepath ap
  • 获取给定字符串日期中该月的最后一天

    我的输入字符串日期如下 String date 1 13 2012 我得到的月份如下 SimpleDateFormat dateFormat new SimpleDateFormat MM dd yyyy Date convertedDat

随机推荐

  • 适用于 Windows 的优秀开源错误跟踪/问题跟踪软件 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Android 未使用/查找我的希伯来语本地化。

    我正在努力将我的应用程序本地化为多种语言 西班牙语运行良好 但希伯来语没有出现 让我困惑的是 如果我将希伯来语字符串文件夹的内容放在西班牙语文件夹 values es 中 它会很好用 我的希伯来语文件夹中的西班牙语 值 他 不起作用 任何想
  • SQL Case 语句在 where 子句中指定条件?

    我有以下查询 SELECT FROM dbo tblOrders o WHERE o OrderId IN SELECT Value FROM dbo udf GenerateVarcharTableFromStringList Order
  • 相当于 git 的“svn checkout”?

    我应该使用什么 git 命令来相当于svn checkout git checkout 非常感谢 git clone https www kernel org pub software scm git docs git clone html
  • ftp 在 java 中无法正确下载文件?

    当我使用以下代码下载文件时 它只是将文件写入本地目的地 但文件大小均为零 有人能说为什么会发生这种情况以及如何解决它吗 import org apache commons net ftp FTPClient import org apach
  • BIOS 是否将 512 字节引导加载程序复制到 0x7c00

    我正在编写内核 在写这么复杂的东西之前 我认为对内核 引导加载程序 寄存器 BIOS 等进行一些理论阅读不仅会有所帮助 而且是必要的 本文 http lennartb home xs4all nl bootloaders node3 htm
  • 如何在 iTextSharp 中调整字体大小以填充固定高度的表格单元格

    我正在从 iTextSharp 创建 PDF 进行打印 我有可变长度的文本 我希望始终采用最大字体大小来填充固定高度的表格单元格 而不会在视线之外环绕 如何才能做到这一点 您首先需要能够测量所选字体中文本的宽度 来自 iTextSharp
  • 是否可以在经典asp中进行友好的url(url重写)?

    我知道如何在 asp net 中创建 实现友好的 url 但是是否可以 如果可以的话 如何 在经典 asp 中执行此操作 如果不可能 谷歌将如何响应 SEO 创建其唯一目的是重定向 加载时 到不同页面的页面 thanks Use a URL
  • 将 JSON 对象转换为 JSON 树

    var obj id 1 child 2 4 data hello id 2 child 3 data I m second id 3 child data I m third id 4 child 6 data I m fourth id
  • 如何在 PHP 中打印或回显数组索引

    我正在努力完成我的任务 这是现在要做的最后一件事 我知道如果我想打印整个数组我可以使用foreach以及许多不同的方法来打印整个数组 foreach v as k gt variable name echo p This is index
  • 使用 datetime.strptime 创建日期时间对象列表

    我有一个字符串列表 date str 2012 11 04 1 05 21 2013 11 03 1 05 21 2014 11 02 1 07 31 我想将它们作为日期时间对象来读取 对于一根弦 我做 datetime strptime
  • 运行 ssh 并立即执行命令[重复]

    这个问题在这里已经有答案了 我试图找到 UNIX 或 bash 命令来在连接到 ssh 服务器后运行命令 例如 ssh name ip tmux list sessions 上面的代码有效 它列出了会话 但随后立即断开连接 将它放在服务器端
  • 为什么列必须出现在 GROUP BY 中?

    我有这个 SELECT name value MIN value as find min FROM history WHERE date num gt 1609459200 AND date num lt 1640995200 AND na
  • 打印时防止表格分页

    我有一个页面正在尝试设置用于打印 该页面包含大量单独的表格 这些表格的大小各不相同 但一般来说 我可以在每页上放置 2 5 到 3 个表格 我希望能够防止表格因分页符而损坏 知道我怎样才能做到这一点吗 我试过这个 reportTable p
  • 优化多个分层组的 SUM OVER PARTITION BY

    我有一个如下表 Region Country Manufacturer Brand Period Spend R1 C1 M1 B1 2016 5 R1 C1 M1 B1 2017 10 R1 C1 M1 B1 2017 20 R1 C1
  • NodeJs压力测试工具/方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我搜索了很多关于对 NodeJs 应用程序 模块进行压力测试的信息 但没有找到任何内容 我有一个推送服务器应用程序 类似于 socket
  • react-admin 创建一个可以从菜单侧边栏访问的自定义页面

    我是反应管理新手 如何创建可以从菜单侧边栏访问的自定义页面 我正在寻找与本教程类似的内容 https marmelab com blog 2019 03 07 react admin advanced recipes user profil
  • 为自定义指令的节点生成标签

    使用Sphinx TODO 指令示例 https www sphinx doc org en master development tutorials todo html我想参考一下todo嵌入在 rst 文件中的实例 例如 如果 rst
  • 如何使用 lubridate 包计算两个日期向量之间的月数,其中向量之一具有 NA 值?

    我已经阅读了 lubridate 包手册 并通过我的问题的各种排列查询了 Stack Overflow 但没有找到针对我的具体问题的答案 我想做的是计算事件发生时的年龄 以月为单位 作为出生日期和某些特定事件日期之间的差异 因此 我使用以下
  • 急切的 java 类加载

    我正在尝试对在各种硬件和操作系统平台上运行的 JVM 进行一些基准测试 我创建了一个算法来练习 JVM 中我感兴趣的部分 并打算多次运行该算法以找到一个合适的平均值 当我运行基准测试时 我发现第一次运行明显长于后续运行 132ms 86ms