Каков наилучший способ запуска кода Java на RP? Работает ли установка OpenJDK из репозиториев Debian / Fedora нормально? Есть ли твики, которые нужно использовать для улучшения производительности? Кроме того, есть ли «легковесная» JVM, доступная для RP, которая работает лучше / быстрее, чем стандартная JVM от OpenJDK? Если да, то как это получается и устанавливается?
35
Ответы:
Что касается «облегченной» части вашего вопроса, есть несколько меньших JVM, которые вы можете рассмотреть.
Например, JamVM изначально был разработан для работы в небольших системах, таких как RP, и он и Cacao (еще одна меньшая JVM) доступны в виде пакетов в debian:
хотя оба используют библиотеки классов open-jdk AFAIK и библиотеки классов, которые являются огромной частью (с точки зрения дискового пространства) установки JRE.
источник
Установка из репозиториев должна нормально работать на Debian:
Похоже, что Java недоступна в репозитории Arch.
Может кто-нибудь, пожалуйста, отредактируйте с информацией для Fedora, я не знаю этого дистрибутива.
источник
Я видел большой интерес к запуску различных урезанных JVM, работающих на Raspberry Pi, но мало кто задумывался о компиляции Java прямо в машинный код. http://gcc.gnu.org/java/ содержит компилятор, который может дать вам машинный код из Java или байтового кода Java. Проект, который я собирался использовать для gcj, закончился тем, что его свернули до того, как он вышел из-под контроля, но компилятор считается подходящим для встраиваемых систем, поэтому он должен вполне соответствовать raspberry pi.
На полпути вниз по странице в этом форуме есть очень хороший график, который кто-то сделал, сравнивая относительную производительность различных JVM, а также gcj http://www.raspberrypi.org/phpBB3/viewtopic.php?t=6330&p=124107 . Имейте в виду, что эти тесты были сделаны до резкого увеличения производительности, включенного в последний дистрибутив raspbian.
источник
Я не знаю специального облегченного JDK, о котором я знаю, но нормальный openjdk из репозитория, кажется, работает нормально .
Я говорю хорошо , нет проблем с функциональностью как таковой, по крайней мере, я не нашел. Включая заголовочные приложения, Swing / AWT также, кажется, работает хорошо (не пробовал JavaFX.) С другой стороны, производительность не совсем подходит из-за отсутствия JIT (см. Этот вопрос ).
источник
Oracle любезно перенесла версию Java 7 SE без головы в ARM для Raspberry PI. Я скопировал файлы классов из некоторого моего не основанного на EE консольного кода, и он работает нормально - но примерно в 9 раз медленнее, чем Pentium IV на 3 ГГц. см. http://eclipsejpa.blogspot.ca/2012/10/java-se-7-embedded-on-raspberry-pi.html
http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html
источник
Oracle выпустила Java 8 (и Java 7) для
ARM
. Используйте ссылку с этой страницы, чтобы получить лучшую на данный момент версию Java для вашего Raspberry Pi.Это также должно работать:
источник
Я не знаю, как это работает с JVM, но я знаю, что ARM SoC на Raspberry Pi может запускать сам байт-код Java.
У меня нет Raspberry Pi для тестирования JRE. Поэтому я размышляю.
Используйте:
cat /proc/cpuinfo/
и посмотрите, сможет ли Java поддерживать Raspberry Pi.источник
java
флаг/proc/cpuinfo
означает, что процессор поддерживает расширение Jazelle. Вы можете прочитать об этом в Википедии .