Jakieś doświadczenia z Javą na Raspberry PI?

Czy jest możliwe uruchomienie przeciętnego serwera aplikacji java np. na serwerze jboss lub glassfish na Raspberry pi? Jakieś ograniczenia? Czy ktoś ma doświadczenie w tworzeniu Javy dla raspberry pi?

Przynajmniej każdy odpowiedni JVM dla RPi będzie miły.

Author: johnny-b-goode, 2012-08-23

7 answers

Jest to absolutnie możliwe, ale powinno działać lepiej z nowszymi wersjami mającymi więcej pamięci (np. 512 MB wersji Pi). W grudniu 2012 roku firma Oracle udostępniła programistyczną wersję Java SE 8 dla ARM . Post na blogu z ogłoszeniem zawiera linki do wielu samouczków, które powinny pomóc Ci zacząć od zwykłego Java SE lub JavaFX, w zależności od tego, jak fantazyjne powinny być twoje interfejsy.

  1. Szybki przewodnik po osadzaniu Javy na Raspberry Pi
  2. JavaFX na Raspberry Pi – 3 proste kroki

Jeśli obawiasz się wydajności JavaFX na Raspberry Pi, sprawdź post na blogu "JavaFX on Raspberry PI" , który zawiera pewne informacje o wydajności JavaFX, porównując go do aplikacji natywnych.

Aktualizacja: wyniki testów po uruchomieniu Tomcat 7 z Java 8 na Pi
Po dostaniu 512MB wersji Pi (MODELL B) zainstalowałem Javę 8 i Tomcat 7.0 bez żadnych problemów. Przykłady Tomcat działały, a ja mogłem korzystać z aplikacji Tomcat manager bez żadnych problemów.

Z 64 MB PAMIĘCI RAM użytej do karty graficznej, nadal miałem 291 MB wolnej pamięci (z uruchomionym sshd):

pi@raspberrypi ~/ $ free -m
             total       used       free     shared    buffers     cached
Mem:           438        146        291          0         10         74
-/+ buffers/cache:         60        377
Swap:           99          0         99

pmap zgłoszono łącznie 192 MB wykorzystywanych przez proces Tomcat.

 27
Author: raju-bitter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-26 23:26:18

Raspberry Pi ma tylko 185mb dostępne dla całego JVM. (po rozruchu, z 16MB do przetwarzania wideo).

Następnie należy użyć agresywnych i precyzyjnych opcji pamięci (-Xmx120M -XX:MaxPermSize=55M -XX:ReservedCodeCacheSize=4M -Djava.awt.headless=true)

Zrobiłem aplikację opartą na Jetty, Spring 3 i Hibernate / JPA. Po wdrożeniu zmieści się w około 15MB przestrzeni sterty i 32MB przestrzeni bez sterty (przy użyciu analizy pamięci JProfiler)

Każda załadowana klasa jest trwałą pamięcią utraconą, ponieważ przestrzeń PermGen nie może być zbierana. Dużo klasy są ładowane tylko do obsługi inicjalizacji, ale pozostaną ładowane na zawsze. Być może tweeks może być znalezione, aby zużywać mniej przestrzeni PermGen dla każdego komponentu.

 12
Author: Toilal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-30 19:06:15

Rzeczywiście możesz. Istnieje post na blogu kogoś, kto uruchamia JBoss EAP (zasadniczo JBoss jako 7) na Raspberry pi.

 8
Author: James R. Perkins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-23 16:07:42

Używam TJWS na Raspberry Pi pod JRE 1.7, działa niesamowicie szybko i nie ma problemów z pamięcią.

 4
Author: Dmitriy R,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-13 09:59:37

W tej chwili JVM na pi jest możliwe , ale wydanie Java SE jest trudne do znalezienia. Może i jest jeden na ARM od Oracle, ale nie próbowałem (mój pi jest jeszcze w drodze) i jeśli dobrze pamiętam to jest za ścianą.

Innym ograniczeniem dla pi jest dostępna pamięć RAM; aplikacje takie jak jboss i glassfish będą chciały więcej pamięci RAM niż zapewnia pi, z wyjątkiem bardzo ograniczonych wdrożeń.

 2
Author: Joseph Ottinger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-23 12:24:47
 1
Author: Vsevolod Golovanov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-17 23:57:46

Mam tomcat7 uruchomiony na openjdk z bazami danych SQLite. Przetwarzanie ok z prędkością około quater mojego laptopa, ale otwieranie stron jsp trwa 10-15 sekund. Jeszcze nie wiem dlaczego.

 0
Author: Andrew p,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-19 19:54:08