मैं जावा सॉफ्टवेयर कैसे चला सकता हूं?


35

आरपी पर जावा कोड चलाने का सबसे अच्छा तरीका क्या है? OpenJDK को डेबियन / फेडोरा रिपॉज से स्थापित करना ठीक काम करता है? क्या बेहतर प्रदर्शन के लिए ट्वीक का उपयोग करना चाहिए? इसके अलावा, आरपी के लिए "हल्का वजन" जेवीएम उपलब्ध है जो ओपन जेडीके से मानक जेवीएम की तुलना में बेहतर / तेज चलता है? यदि हां, तो यह कैसे प्राप्त और स्थापित किया जाता है?


1
ध्यान दें कि OpenJDK में अभी ARM JIT नहीं है, जिससे यह धीमा हो जाता है।
Thorbjørn रावन एंडरसन

ऐसा प्रतीत होता है कि Oracle द्वारा ARM JIT OpenJDK का हिस्सा नहीं है।
Thorbjørn Ravn Andersen

जवाबों:


15

आपके प्रश्न के "हल्के" भाग के लिए, कई छोटे JVM हैं जिन पर आप विचार करना चाहते हैं।

उदाहरण के लिए, जेएमवीएम को मूल रूप से आरपी जैसी छोटी प्रणालियों में काम करने के लिए डिज़ाइन किया गया था और यह दोनों और काकाओ (एक और छोटा जेवीएम) डेबियन में पैकेज के रूप में उपलब्ध हैं:

icedtea-7-jre-jamvm
icedtea-7-jre-cacao

हालांकि दोनों खुले jdk वर्ग के पुस्तकालयों AFAIK का उपयोग करते हैं, और इसके वर्ग पुस्तकालय जो एक JRE स्थापित करने का बहुत बड़ा हिस्सा (डिस्क पदचिह्न वार) हैं।


11

रिपॉजिटरी से इंस्टॉलेशन को डेबियन पर ठीक काम करना चाहिए:

sudo apt-get clean
sudo apt-get update
sudo apt-get install openjdk-6-jre

जावा आर्क रेपो पर उपलब्ध नहीं लगता है।

क्या कोई कृपया फेडोरा के लिए जानकारी के साथ संपादित कर सकता है, मुझे उस डिस्ट्रो का कोई ज्ञान नहीं है।


3

मैंने रास्पबेरी पाई पर चलने वाले विभिन्न कट जेवीएम को चलाने में बहुत रुचि देखी है, लेकिन कुछ लोगों ने जावा को सीधे मशीन कोड में संकलित करने पर ध्यान दिया है। http://gcc.gnu.org/java/ एक कंपाइलर होस्ट करता है जो आपको जावा से या जावा बाइट कोड से मशीन कोड दे सकता है। जमीन से उतरने से पहले जिस प्रोजेक्ट के लिए मुझे gcj का उपयोग करना था, उसे खत्म किया जा रहा था, लेकिन संकलक को एम्बेडेड सिस्टम के लिए एक अच्छा फिट माना जाता है, इसलिए इसे रास्पबेरी पाई के अनुरूप होना चाहिए।

इस मंच में पृष्ठ के आधे रास्ते में एक बहुत अच्छा ग्राफ है जो किसी ने विभिन्न JVM के साथ-साथ gcj http://www.raspberrypi.org/phpBB3/viewtopic.php?t=634&p=124107 के सापेक्ष प्रदर्शन की तुलना करते हुए बनाया है । ध्यान रखें कि नवीनतम रास्पबियन डिस्ट्रो में शामिल कठोर प्रदर्शन में वृद्धि से पहले ये बेंचमार्क बनाए गए थे।


अब, छह महीने बाद, क्या आपके पास रास्पबेरी पर ऐसा करने का अनुभव है?
Thorbjørn Ravn Andersen

2

वहाँ कोई विशेष हल्के JDK है कि मुझे पता है, लेकिन रेपो से सामान्य Openjdk मेरे लिए ठीक-ईश काम करने लगता है ।

मैं कहता हूं कि ओके-ईश - कार्यक्षमता के साथ कोई समस्या नहीं है-से, कम से कम कोई भी नहीं जो मैंने पाया है। इसमें प्रमुख अनुप्रयोग शामिल हैं, स्विंग / AWT भी अच्छी तरह से काम करता है (JavaFX की कोशिश नहीं की है।) दूसरी ओर प्रदर्शन JIT की कमी के कारण सही घर के लिए कुछ भी नहीं है ( यह प्रश्न देखें ।)


2

ओरेकल ने रास्पबेरी पीआई के लिए एआरएम के लिए जावा 7 एसई हेडलेस के एक संस्करण को विनम्रतापूर्वक चित्रित किया है। मैंने अपने कुछ गैर-ईई कंसोल आधारित कोड से क्लास की फाइलों की नकल की और यह ठीक चलता है - लेकिन 3 जीएचजेड पर पेंटियम IV की तुलना में 9 गुना धीमा है। http://eclipsejpa.blogspot.ca/2012/10/java-se-7-embedded-on-raspberry-pi.html देखें

http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html


1

ओरेकल ने जावा 8 (और जावा 7) को जारी किया ARM। अपने रास्पबेरी पाई के लिए वर्तमान में सबसे अच्छा जावा संस्करण प्राप्त करने के लिए इस पृष्ठ से लिंक का उपयोग करें ।

यह भी काम करना चाहिए:

sudo apt-get update
sudo apt-get install oracle-java8-jdk

0

मैं नहीं जानता कि यह जेवीएम के साथ कैसे काम करता है, लेकिन मुझे पता है कि एआरएम SoC को रास्पबेरी पाई पर जावा बाइटकोड खुद चला सकते हैं।

मेरे पास JRE का परीक्षण करने के लिए रास्पबेरी पाई नहीं है। इसलिए मैं अटकलें लगाता हूं।

उपयोग करें cat /proc/cpuinfo/और देखें कि क्या जावा रास्पबेरी पाई का समर्थन कर सकता है।


1
इस javaध्वज का /proc/cpuinfoअर्थ है कि सीपीयू जज़ले एक्सटेंशन का समर्थन करता है। आप इस बारे में विकिपीडिया पर पढ़ सकते हैं ।
Krzysztof Adamski

Jazelle के साथ समस्या यह है कि कोई भी खुला स्रोत JVM इसका उपयोग नहीं कर सकता है।
एलेक्स चेम्बरलेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.