Программирование в байт-коде Java

Я надеюсь писать короткую программу (возможно, Привет Мир) в байт-коде Java. Я просто хочу записать байт-код с помощью своего текстового редактора и выполнить его. Как я сделал бы это? Получил пример?Спасибо!

46
задан Corey Stevens 30 June 2010 в 17:39
поделиться

4 ответа

Вы можете попробовать Jasmin!

.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
Hello World.

Update

Я вижу, что в вашем вопросе упоминается "без использования Javac или Java". Не могли бы вы пояснить, как вы понимаете это утверждение?

44
ответ дан 26 November 2019 в 20:30
поделиться

Рассматривали ли вы JBE (редактор байт-кода Java)?
Он основан на инженерной библиотеке байт-кода Apache ( BCEL )

8
ответ дан 26 November 2019 в 20:30
поделиться

Может быть, эта статья поможет вам начать: Основы байт-кода (немного устарело, но вы уловили идею).

Также пригодится формат файла класса : D

8
ответ дан 26 November 2019 в 20:30
поделиться

Байт-код записывается в виде фактических байтов, которые обычно нелегко редактировать в обычном текстовом редакторе.

Это означает, что вам понадобится что-то, что преобразует текстовое представление в двоичное. Разумным местом для начала будет ассемблер типа Jasmin.

8
ответ дан 26 November 2019 в 20:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: