问题标签 [bytecode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1125 浏览

java - BCEL == java 的猴子补丁吗?

前几天,一位同事向我指出了BCEL,从他的解释和快速阅读中我可以看出,这是一种在运行时修改字节码的方法。我的第一个想法是它听起来很危险,我的第二个想法是它听起来很酷。然后我想了想,想起了关于猴子补丁的编码恐怖帖子,并意识到这基本上是一回事。有没有人用过 BCEL 做任何实用的事情?我是对的,这基本上是运行时猴子补丁,还是我错过了什么?

0 投票
8 回答
30464 浏览

java - 字节码与本机代码相比有什么优势?

看起来你可以用字节码做的任何事情都可以在本机代码中轻松快捷地完成。理论上,您甚至可以通过以字节码分发程序和库,然后在安装时编译为本机代码,而不是 JIT 来保持平台和语言的独立性。

所以一般来说,你什么时候想执行字节码而不是原生的?

0 投票
8 回答
25152 浏览

java - MSIL 和 Java 字节码的区别?

我是 .Net 的新手,我试图先了解基础知识。MSIL 和 Java 字节码有什么区别?

0 投票
2 回答
920 浏览

java - 关于java如何执行字节码有很好的参考吗?

我对 java 如何组织内存和执行代码(比如放入堆栈或堆中的内容)感兴趣,从 main 开始,到分配变量、调用函数、传递参数、返回值、实例化对象等。有有人找到了一篇好的、适合初学者的文章/参考资料吗?

0 投票
4 回答
6820 浏览

python - 是否有 Eclipse 插件来构建用于分发的 python 可执行文件?

我想构建一个可执行文件来分发给没有在他们的机器上安装 python 的人。

是否有 Eclipse 的附加组件允许这样做?我找不到一个。

如果没有,您是否有推荐的构建器,可以轻松转到我在 Eclipse 中创建的 python 项目目录并将其捆绑在一起?

谢谢,马克

0 投票
5 回答
5458 浏览

.net - 存在哪些 CLR/.NET 字节码工具?

我非常了解用于操作、生成、反编译 JVM 字节码(ASM、cglib、jad 等)的 Java 工具。CLR 字节码有哪些类似的工具?人们是否为 CLR 进行字节码操作?

0 投票
31 回答
430309 浏览

c# - C++ 性能与 Java/C#

我的理解是 C/C++ 生成在特定机器架构上运行的本机代码。相反,Java 和 C# 等语言在抽象出原生架构的虚拟机之上运行。从逻辑上讲,由于这个中间步骤,Java 或 C# 似乎不可能与 C++ 的速度相匹配,但是我被告知最新的编译器(“热点”)可以达到甚至超过这个速度。

也许这更像是一个编译器问题而不是语言问题,但是任何人都可以用简单的英语解释这些虚拟机语言中的一种如何可能比母语表现得更好吗?

0 投票
3 回答
2080 浏览

java - 从任意 .class 文件创建一个 BCEL JavaClass 对象

我在玩BCEL。我不是用它来生成字节码,而是试图检查现有编译类的结构。

我需要能够指向硬盘驱动器上任意位置的任意 .class 文件并基于该文件加载JavaClass对象。理想情况下,我想避免将给定的类添加到我的类路径中。

0 投票
6 回答
4254 浏览

java - 以编程方式检查 .class 文件

我正在做一个项目,我们在 Java 服务和用其他各种语言编写的客户端之间进行大量远程对象传输。鉴于我们当前的限制,我决定看看如何根据现有的 Java 类生成代码。基本上,我需要获取一个.class文件(或它们的集合)来解析字节码以确定所有数据成员,也许还有 getter/setter,然后编写一些可以用不同语言输出代码的东西来创建一个具有相同结构的类。

我不是在寻找诸如 JAD 之类的标准反编译器。我需要能够获取一个.class文件并为其数据成员和方法创建一个对象模型。这可能吗?

0 投票
18 回答
48648 浏览

assembly - CIL nop 操作码的目的是什么?

我正在浏览 MSIL 并注意到 MSIL 中有很多nop指令。

MSDN 文章说,如果操作码被修补,它们不会执行任何操作并用于填充空间。它们在调试版本中的使用比在发布版本中更多。

我知道这些语句在汇编语言中用于对齐后面的指令,但是为什么 MSIL 中需要 MSIL nop 呢?

(编者注:接受的答案是关于机器代码 NOP,而不是问题最初询问的 MSIL/CIL NOP。)