Я знаю, что существует множество библиотек, которые считывают байт-коды, написанные на Java. Кто-нибудь знает о библиотеке байт-кода, реализованной в Javascript?
Есть ли программа для чтения байт-кода Java, реализованная в javascript?
Ответы (3)
Поскольку javascript обычно запускается внутри браузера, он, как правило, не может считывать фактические байты из файлов, что делает его менее чем идеальным для чтения байтов java. Если вы каким-то образом закодировали байтовые коды в форме, которую может прочитать javascript, что вы ожидаете от библиотеки? Можете ли вы предоставить более подробную информацию о том, что вы пытаетесь сделать?
Если вы хотите писать код на Java и запускать его в браузере, взгляните на GWT. Он использует Java для перекомпиляции вашего байт-кода в оптимизированный javascript.
Изменить
Основываясь на вашем добавленном комментарии, вы надеетесь «узнать классы и методы, используемые в файле jar на моем локальном диске»:
Поскольку javascript не может получить доступ к файлам на локальном диске (по крайней мере, без использования ActiveX), технология просто не позволит сделать это. Есть ли причина, по которой вы хотели использовать для этого javascript, а не java?
И, пожалуйста, примите мои извинения, если это прозвучало так, будто я сомневаюсь в ваших мотивах. Я действительно просто хотел получить достаточно информации, чтобы иметь возможность адекватно ответить на ваш вопрос.
Обновление:
Похоже, японский проект, на который я пытался сослаться ниже, давно исчез. В любом случае, время прошло, и теперь в Google есть пара ссылок на «jvm in javascript». А именно:
Посмотрите, что я нашел:
http://ejohn.org/blog/running-java-in-javascript/
Это помогает?
Редактировать: к сожалению, похоже, что исходный сайт проекта мертв.
Вы можете попробовать через веб-архив, здесь (на японском, попытался перевести это Google, но я думаю, что это было слишком косвенно :))
Ради бога, если вы перейдете по этой ссылке, запустите загрузку через антивирус.
Я не знаю, заслуживает ли он доверия.
Существуют компиляторы, которые могут компилировать Java в JavaScript. В крайнем случае вы можете использовать один из этих компиляторов, чтобы взять дизассемблер байт-кода JVML, написанный на Java, и скомпилировать его в JavaScript. Одним из примеров такого компилятора является GWT.
Точно так же существуют компиляторы, которые могут компилировать байт-код JVML в JavaScript. Опять же, вы можете взять один из вышеперечисленных дизассемблеров байт-кода JVML, написанных на Java, использовать любой компилятор Java-to-JVML (javac
, ecj
, gcj
, …), чтобы скомпилировать его в JVML (т.е. .class
файлов) , затем скомпилируйте эти файлы .class
в JavaScript.