如何检查 Java 代码的汇编输出?

2023-11-21

我发现这个问题可以回答 C++ 的问题:
如何从 gcc 中的 C/C++ 源代码获取汇编程序输出?


Java uses both bytecode and assembly language machine code. It's a two-step process. The first step is to compile the Java source code to bytecode, as @elliott-frisch pointed out. At runtime, the JVM watches which parts of the program are used a lot. If a method "runs hot", it's compiled to machine code. That, in turn, is a multi-step process itself, including many optimizations and replacing fast code with even faster code. I've described this in BeyondJava.net several years ago.

如果您能抽出 45 分钟时间,我还建议您观看 Charles Nutter 的演讲。“掉进兔子洞”很好地介绍了 Java 如何编译为汇编语言。

至于你的问题:你必须在启动应用程序的命令中添加一些参数:

javaw.exe -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly Adder

您还必须下载一个特殊的 DLL 并将其存储在 jre 文件夹中。另请参阅克里斯·纽兰兹文章关于如何为 OS X 编译此文件。

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

如何检查 Java 代码的汇编输出? 的相关文章

随机推荐

  • babel 7 不允许在装饰器和类之间使用 export 关键字。请改用“export @dec class”

    我正在使用 React js 和最新的 babel 7 当我使用 mobx 装饰器时出现错误 解析错误 不允许在装饰器和类之间使用导出关键字 请用export dec class反而 my code import React Compone
  • 向从架构生成的 JAXB 类添加额外的方法

    这是我的 XSD 文件的一小段摘录
  • Spark 结构化流的内存问题

    我在 Spark 2 2 0 中运行具有聚合和分区的结构化流时遇到内存问题 session readStream schema inputSchema option OPTION KEY DELIMITER OPTION VALUE DEL
  • 创建一个“机器人”来填写表单中的一些页面

    我想实现一个可以自动填写表格的 机器人 例如 当您可以在页面上填充数据时 是否有解决方案 form1 html并提交 等待下一页并提交数据form2 html 等等 最后 它还应该 单击 按钮来获取表单创建的文件 我希望这个 机器人 会使用
  • 在 Matlab 中将 unicode 字符串写入文件

    我有一个包含乌尔都语字符的字符串 例如 巴扎 这是一个 1x4 数组 我想将其保存到一个文件中 以便外部查看 虽然该字符串不会显示在主命令行窗口中 但变量 str 确实保存了它 当我使用 fprintf fid str 保存该文件并在记事本
  • MediaPlayer 停止播放声音 - Android

    这是一个简单的钢琴应用程序 它可以工作 但有一个问题 在大约 20 次点击后 有时恰好是 28 次点击 即使我点击按钮 它也不会发出任何声音 该应用程序不会崩溃 也不会警告我任何事情 这只是一无所有 没有声音 你有什么主意吗 package
  • Boto3 仅获取特定区域的 S3 存储桶

    以下代码遗憾地列出了所有区域的所有存储桶 而不仅仅是指定的 eu west 1 我怎样才能改变这一点 import boto3 s3 boto3 client s3 region name eu west 1 for bucket in s
  • 自己颁发 JWT 令牌与使用 IdentityServer4(OIDC) 进行 Web API

    https identityserver4 readthedocs io en release intro support html 我目前在我的 Web api 中自己发行令牌JwtSecurityToken我使用标准 ASP NET C
  • 如何从 DataView 的列中获取值?

    我有一个数据视图定义为 DataView dvPricing historicalPricing GetAuctionData DefaultView 这是我尝试过的 但它返回名称 而不是列中的值 dvPricing ToTable Col
  • SQLAlchemy 可以自动从数据库模式创建关系吗?

    从带有外键的现有 SQLite 数据库开始 SQLAlchemy 可以自动构建关系 SQLAlchemy 类是通过自动创建的 table args autoload True 目标是轻松访问相关表中的数据 而无需手动一一添加所有关系 即不使
  • 为什么此代码会导致 Excel 无法正常关闭?

    为什么这行代码会导致Excel无法退出 Excel Range range Excel Range ws Cells 1 1 如果是因为转换的原因 那么这段代码不会导致同样的问题吗 Excel Worksheet ws Excel Work
  • 使用 LINQ 的多个或单个存储库

    我一直在阅读 Professional ASP NET MVC 1 0 书中的第 11 章 可测试设计模式 在本章的示例中 数据访问被分为多个存储库 IOrderRepository IProductRepository 等 这一切都有意义
  • 谷歌地理编码停止为乌克兰克里米亚工作

    我发现了一个非常奇怪的问题 地理编码 API 突然停止支持克里米亚坐标 示例 辛菲罗波尔市 但它适用于乌克兰和俄罗斯的任何其他地方 示例 乌克兰基辅 最近API运行正常 请教一下 是不是因为乌克兰的政治事件而对谷歌进行了限制 该服务是否应该
  • 如何在 Vue Router v4 中为自定义元字段声明 TypeScript 类型接口?

    With Vue 路由器版本 4 目前是在 vue router next repo 的 beta 11 中 有一个文档页 about 如何使用 TypeScript 定义元字段自定义类型接口 declare module vue rout
  • 如何比较 C 中的多字节字符

    我尝试解析文本并在其中找到一些字符 我使用下面的代码 它适用于普通字符 例如abcdef但它不适用于 GCC 给出编译警告 我应该做什么来工作 Code include
  • HTTP 与 Websockets 的开销对比

    我正在两端使用 node js 构建一个文件同步程序 与 Dropbox 不同 我需要有潜在的数千个客户端同时请求数据 这是我当前的系统 服务器通过 websocket 向客户端推送通知 文件已更新 客户端对下载进行排队并在空闲时发出 HT
  • 回形针和 xhr.sendAsBinary

    我使用回形针将文件添加到我的模型中 我想使用firefox 3 6的新功能 xhr sendAsBinary 通过 ajax 请求发送文件 以下是我如何构建我的请求 var xhr new XMLHttpRequest xhr open P
  • JWT 中的复杂声明

    The JWT RFC包含复杂数组似乎没有任何问题 例如 email email protected businesses businessId 1 businessName One roles admin accountant busin
  • 将 swift 可变参数公开给 Objective-C

    我目前正在开发一个快速动态框架 它将用于 Objective C 应用程序 我创建了这个方法 签名 public init buttons ActionButton code 然而 这个方法永远无法从使用该框架的 Objective C 应
  • 如何检查 Java 代码的汇编输出?

    我发现这个问题可以回答 C 的问题 如何从 gcc 中的 C C 源代码获取汇编程序输出 Java uses both bytecode and assembly language machine code It s a two step