OpenJDK успешно компилируется и работает на Pi, но единственная версия, которую я нашел, - это версия без JIT. Oracle предоставляет такой JDK для других версий ARM, но не для ARMv6. Есть ли способ получить и запустить такую версию JDK?
java
software-development
berry120
источник
источник
Ответы:
Oracle выпустила (начиная с Java 7u6) JDK с JIT, который работает на Pi с полной поддержкой AWT / Swing. Он также поддерживает JVMTI (cacao имеет только частичную поддержку.) Пресс-релиз здесь .
Я убедился, что он работает с Greenfoot и обеспечивает значительное ускорение по сравнению с простыми (не JIT) сборками OpenJDK.
На момент написания статьи он не поддерживает жесткие числа с плавающей запятой и поэтому не будет работать с такими дистрибутивами, как Raspbian, которые используют только hard float - однако это запланировано на будущий выпуск.ОБНОВЛЕНИЕ: Как отметил Даррен, сейчас для ARM выпущена хард-плавающая версия в виде предварительной версии JDK8, вы можете найти ее здесь .
ОБНОВЛЕНИЕ 2: Hard float теперь поддерживается в JDK7.
источник
Пакет icedtea-6-jre-cacao содержит JIT-компилятор и, как сообщается, работает на RasPi .
Я сам не пробовал.
источник
Oracle уже выпустила предварительную версию Java JDK8 для ARM для разработчиков, в которую включена поддержка Raspbian с плавающей точкой на Pi. Это работает, и я обнаружил, что он работает примерно в 20 раз быстрее, чем OpenJDK для некоторых вычислений с плавающей запятой. http://jdk8.java.net/fxarmpreview/
источник
На Rasbian вы можете использовать JamVM, который включает "JIT-копирование кода"
JamVM в настоящее время является самой быстрой и стабильной JVM, которая включает JIT на Rasbian.
Avian также поддерживается на Rasbian, который также включает JIT. Вам придется построить его вручную: http://labb.zafena.se/?p=630
Я ожидаю, что Avian появится в Raspbian, когда он будет собран из источника SID Debian. Птичий в настоящее время существует в экспериментальном SID Debian внутри
jvm-7-avian-jre
пакета.И Avian, и JamVM работают в сочетании с классами OpenJDK-7, поэтому вы можете использовать их для ускорения всех программ запуска Java, таких как javac и java. файл
/etc/java-7-openjdk/jvm-armhf.cfg
определяет, какая JVM используется по умолчанию в openjdk 7 на Rasbian.Вы также можете указать java-пусковым установкам индивидуально, какой jvm использовать:
источник
Oracle выпустила полную версию (больше не предварительный просмотр) Java 8 и Java 7 для архитектуры ARM Raspberry Pi: ссылка на Java 8 .
Вы также можете использовать из командной строки:
источник
Можно объединить OpenJDK 7 с JVM из Java JDK8, который включает JIT, чтобы получить установку с поддержкой X11 и рабочую версию Swing / AWT.
Интерфейс JNI, за исключением «Classpath», четко разделяет классы среды JVM и среды выполнения. Если вы используете клиентскую точку доступа (jre / lib / arm / client / libjvm.so) из предварительного просмотра JavaFX 8 в сочетании с скомпилированными Rasbian классами среды выполнения OpenJDK 7 и средствами запуска java (/ usr / lib / jvm / java-7- openjdk-armhf) вы получите следующие настройки и преимущества:
Настроить:
Загрузите jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz с http://jdk8.java.net/fxarmpreview/index.html
источник