OpenJDK Pi'yi başarıyla derler ve çalıştırır, fakat bulduğum tek versiyon JIT'siz versiyondur. Oracle, diğer ARM sürümleri için böyle bir JDK sağlar, ancak ARMv6'yı sağlamaz. Bu arada JDK'nın böyle bir versiyonunu çalıştırmanın bir yolu var mı?
OpenJDK Pi'yi başarıyla derler ve çalıştırır, fakat bulduğum tek versiyon JIT'siz versiyondur. Oracle, diğer ARM sürümleri için böyle bir JDK sağlar, ancak ARMv6'yı sağlamaz. Bu arada JDK'nın böyle bir versiyonunu çalıştırmanın bir yolu var mı?
Yanıtlar:
Oracle şimdi (Java 7u6'dan itibaren) Pi’de tam AWT / Swing desteği ile çalışan JIT’li bir JDK’yı piyasaya sürdü. Ayrıca JVMTI'yı destekler (kakao yalnızca kısmi bir desteğe sahiptir.) Basın bülteni burada .
Greenfoot ile çalıştığını doğruladım ve düz (JIT olmayan) bir OpenJDK yapısının beğenisine kıyasla büyük bir hızlanma sağlıyor.
Yazma sırasında zor kayan noktayı desteklemiyor ve bu nedenle yalnızca sabit kayan nokta kullanan Raspbian gibi dağıtımlarla çalışmaz - bu, gelecekteki bir sürüm için planlanmıştır.
GÜNCELLEME: Darren'in belirttiği gibi, bir JDK8 önizleme sürümü biçiminde ARM için artık zorlu bir sürüm yayınlandı, burada bulabilirsiniz .
GÜNCELLEME 2: Sabit şamandıra artık JDK7'de desteklenmektedir.
İcedtea-6-jre-kakao paket JIT derleyicisi içerir ve bildirildiğine Raspi çalışır .
Kendim denemedim.
Oracle, özellikle Pi'de sabit diskli Raspbian desteği içeren ARM için Java JDK8'in geliştirici bir önizlemesini yayınladı. Çalışıyor ve bazı kayan nokta yoğun hesaplamalar için OpenJDK'den yaklaşık 20 kat daha hızlı olduğunu buldum. http://jdk8.java.net/fxarmpreview/
Rasbian'da "kod kopyalama-JIT" içeren JamVM kullanabilirsiniz.
apt-get install icedtea-7-jre-jamvm
JamVM şu anda Rasbian'da bir JIT içeren en hızlı ve en kararlı JVM'dir.
Avian ayrıca bir JIT içeren Rasbian'da da desteklenmektedir. Manuel olarak oluşturmanız gerekecektir: http://labb.zafena.se/?p=630
Avian'ın Debian SID kaynağından inşa edildiğinde Raspbian'da görünmesini bekliyorum. Avian şu anda Debian SID'de jvm-7-avian-jre
paket içinde deneysel olarak bulunuyor .
Hem Avian hem de JamVM, OpenJDK-7 sınıflarıyla birlikte çalışır, böylece hem javac hem de java gibi tüm java rampalarını hızlandırmak için kullanabilirsiniz. dosya, /etc/java-7-openjdk/jvm-armhf.cfg
hangi JVM'nin Rasbian'daki openjdk 7 içinde varsayılan olarak kullanılacağını belirler.
Java başlatıcılarına ayrı ayrı hangi jvm'nin kullanılacağını da söyleyebilirsiniz:
java -jamvm
javac -J-jamvm
Oracle, Raspberry Pi'nin ARM mimarisi için Java 8 ve Java 7'nin tam Sürümünü (artık önizlemesini görmedi) piyasaya sürdü: Java 8'e bağlantı .
Komut satırından da kullanabilirsiniz:
sudo apt-get update
sudo apt-get install oracle-java8-jdk
OpenJDK 7'yi, X11 destekli bir kurulum ve Swing / AWT çalışması için JIT içeren Java JDK8'den JVM ile birleştirmek mümkündür.
"Classpath" istisnası olan JNI arabirimi, JVM ve çalışma ortamı ortam sınıflarını açıkça ayırır. JavaFX 8 önizlemesinden Client Hotspot'u (jre / lib / arm / client / libjvm.so) Rasbian derlenmiş OpenJDK 7 Runtime ortamı sınıfları ve java rampaları (/ usr / lib / jvm / java-7- ile birlikte kullanıyorsanız) openjdk-armhf) aşağıdaki kurulum ve avantajlardan yararlanabilirsiniz:
Kurmak:
İndirin jdk-8-ea-b36e-linux-kol-hflt-29_nov_2012.tar.gz http://jdk8.java.net/fxarmpreview/index.html
# Install openjdk-7 and the icedtea-web browser plugin
sudo apt-get install openjdk-7-jdk icedtea-7-plugin
# Extract the Oracle Client Hotspot JVM from the JavaFX 8 preview
tar --extract --verbose --file=jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz jdk1.8.0/jre/lib/arm/client
# Place the client hotspot dir containing the libjvm.so inside the OpenJDK 7 jre/lib/arm folder
sudo mv jdk1.8.0/jre/lib/arm/client /usr/lib/jvm/java-7-openjdk-armhf/jre/lib/arm/oracle
# Configure the OpenJDK Runtime to use the Oracle client Hotspot JVM dir
# This sed command places -oracle KNOWN at the first line of jvm-armhf.cfg
sudo sed -i -e "1i\\-oracle KNOWN" /etc/java-7-openjdk/jvm-armhf.cfg
java -version
java version "1.7.0_07" <--- This is the OpenJDK 7 Update version
OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1+rpi1) <--- This is the OpenJDK 7 Runtime version
Java HotSpot(TM) Client VM (build 25.0-b04, mixed mode) <--- This is the Oracle Client Hotspot JVM version