当前位置: 首页 > 面试题库 >

用Java字节码编程

傅树
2023-03-14
问题内容

我正在寻找用Java字节码编写一个简短的程序(也许是Hello World)。我只想使用我的文本编辑器编写字节码并运行它。我该怎么做?有一个例子吗?谢谢!


问题答案:

您可以尝试茉莉!

.class public HelloWorld
.super java/lang/Object

.method public static main([Ljava/lang/String;)V
  .limit stack 3
  .limit locals 1

  getstatic      java/lang/System/out Ljava/io/PrintStream;
  ldc            "Hello World."
  invokevirtual  java/io/PrintStream/println(Ljava/lang/String;)V

  return

.end method

您可以使用以下命令进行编译:

> java -jar jasmin.jar hello.j

然后像任何类一样运行它:

> Java HelloWorld
你好,世界。

更新资料

我看到您的问题提到“不使用Javac或Java”。您能说明一下该声明的意思吗?



 类似资料:
  • 问题内容: 什么是好的免费字节码编辑器?我想要一个带有GUI的编辑器… 我没有运气尝试了jbe-0.1b(无法保存字节码更改)。 问题答案: UI并不完美,但是您可以使用Eclipse Bytecode Outline插件将任何Java类转换为ASM代码,对其进行编辑,并生成更改后的类。这可能是目前最轻松的方式。 http://asm.ow2.org/eclipse/index.html

  • 问题内容: 我的编译器类正在创建一种我们打算编译为Java字节码的语言。我们已经取得了很大的进步,并且正在接近代码生成的时间。 我们在查找有关如何从编译器创建.class文件的信息时遇到问题。您有什么资源可以为我们提供帮助吗?我们已经有很多关于指令集的文档,但是需要有关如何直接填写类文件/十六进制编写的信息。 我们不需要有关反编译.class文件的信息或建议。 即使是从头开始编写.class文件的

  • 我正在使用python3,我在对象的表示方面遇到了问题。 它是,这是一个字节数组,但是当我把它传递给另一个函数时,python把它解释为一个字符串,这不是 。 b'N\x00e\x00l\x00\x00s\x00o\x00t\x00t\x00o\x00s\x000i\x00d\x00e_x00e\\x00m\x00a\x00\\x00W\x00i\x000n\x00d_x00W\x000s\x00

  • 问题内容: 我遇到了一些有关JVM / JIT活动的参考,其中似乎在编译字节码和解释字节码之间有区别。该特定注释声明的字节码在前10000次运行时进行解释,然后进行编译。 “编译”和“解释”字节码之间有什么区别? 问题答案: 解释字节码基本上是逐行读取字节码,不进行任何优化或任何操作,然后对其进行解析并实时执行。由于许多原因,这种方法效率低下,其中包括Java字节码设计得不能快速解释的问题。 编译

  • 问题内容: 我目前正在翻译中编写一个针对Java字节码的玩具编译器。 我想知道是否可以在编写.class文件之前在发出的字节码中进行各种简单的窥孔优化的目录,也许是摘要。我实际上知道一些具有此功能的库,但是我想自己实现。 问题答案: 您知道Proguard吗?http://proguard.sourceforge.net/ 这是一个很棒的字节码优化器,它实现了很多优化。请参阅常见问题解答以获取列表

  • 导航 目录 上一章:Lua 与 C/C++ 交互 下一章:LuaJIT 介绍