Ответ 1
Не уверен, насколько зрелым jsJVM, но выглядит как что-то, что вас заинтересует. Как говорится на странице, это JVM, написанное в Javascript.
Есть ли какие-либо jvm-реализации JavaScript?
Если нет, можете ли вы дать мне несколько причин, почему это еще не реализовано? (возможно, возможно?) Я пытаюсь понять, чего нет, чтобы создать его?
Причина, почему я спрашиваю, это то, что я хочу создать веб-браузер с функцией компиляции, даже если на компьютере не установлен jdk или jre (только в браузере).
Не уверен, насколько зрелым jsJVM, но выглядит как что-то, что вас заинтересует. Как говорится на странице, это JVM, написанное в Javascript.
Самый текущий, кажется, Doppio
Возможно, вы посмотрите на bck2brwsr (aka java.net HTML)
Объем проекта не для выполнения любой существующей java-библиотеки. (см. http://wiki.apidesign.org/wiki/Bck2Brwsr)
В Интернете есть два приятных примера:
Чтобы начать с рабочим примером (требуется Maven и JDK7):
Шаг 1: архетип нагрузки
mvn archetype:generate -DarchetypeGroupId=org.apidesign.bck2brwsr \
-DarchetypeArtifactId=bck2brwsr-archetype-html-sample -DarchetypeVersion=0.7.2 \
-DarchetypeRepository=https://maven.java.net/content/repositories/releases/
Шаг 2: создайте HTML-страницу и зависимости и упакуйте как ZIP файл
mvn install
# produces bck-1.0-SNAPSHOT-bck2brwsr.zip
Шаг 3: распаковать ZIP
cd target; unzip bck-1.0-SNAPSHOT-bck2brwsr.zip
creating: public_html/
creating: public_html/lib/
extracting: public_html/lib/emul-0.7.2-rt.jar
extracting: public_html/lib/javaquery.api-0.7.2.jar
inflating: public_html/bck2brwsr.js
extracting: public_html/bck-1.0-SNAPSHOT.jar
inflating: public_html/index.html
Шаг 4: откройте index.html с вашим браузером
Одна из проблем компиляции Java с использованием JavaScript заключается в том, что компилятор обычно должен знать о существовании (или нет) методов и атрибутов целевой минимальной версии Java. Чтобы даже знать эту информацию, вам нужно будет хранить свойства или переменные, которые описывают публичные члены каждого отдельного класса целевой J2SE. Это представляет собой очень большой фрагмент информации.
Очень поздний ответ, но для будущих исследователей. Существует новая реализация Java JVM для JavaScript, которая была выпущена, поскольку этот вопрос был впервые задан. Он утверждает, что реализует JVM даже без установленной Java.