2016-04-13 19 views
2

Mein Projekt ist es, einen Webserver in kleinen Computer wie BeagleBone Black oder Raspberry Pi zu betreiben.Läuft Java gut in BeagleBone Black (oder Raspberry Pi)?

Meine Frage ist, welche Sprache bevorzugt wird, Java oder C++? Mein Plan ist, einen Tomcat zu laufen und einen Web-Server mit Java zu schreiben.

Ich habe gehört, viele Leute sprechen über die schlechte Leistung von Java in solchen eingebetteten System wie BeagleBone Black läuft. Hat Java wirklich eine schlechtere Leistung als C++?

Jeder Gedanke wird geschätzt. Danke

+1

Ich benutze ein Raspi derzeit mit meinem Java-Projekt. Ich finde, dass es meinen Code ziemlich gut läuft. Java wird auf jedem System langsamer sein, obwohl es auf der JVM läuft ... – flakes

Antwort

3

Dort ist ein Java gemacht für die ARM-Veröffentlichung (der Architekt BBB läuft auf). Diese Java-Version wird von Oracle erstellt und enthält Bibliotheken, die für die Öffentlichkeit nicht zugänglich sind.

Die wichtigsten Beschwerden, über die ich gelesen habe, waren über OpenJDK Java auf der BBB aufgrund dessen Open Source und hat nicht den ARM-spezifischen Code und ist somit eine allgemeine eine Größe für alle Java-Lösung, die etwa 4 oder ist 5 mal langsamer als das Oracle Java.

In Bezug auf C++ ist jeder Java-Code langsamer als C++. Dies liegt daran, dass C++ - Code für eine bestimmte Karte (this video helps to explain) erfüllt ist und daher nur auf dieser spezifischen Karte ausgeführt wird, während Java, obwohl bestimmte Versionen für die JRE verfügbar sind, das jar über das JDK kompiliert wird, um nicht bordspezifisch zu sein nicht so schnell wie Code, der bereits für ein bestimmtes Board kompiliert wurde.

Schließlich mit allem, was gesagt, die bevorzugte Sprache hängt davon ab, was Sie tun wollen und jede offizielle Unterstützung durch den Hersteller zur Verfügung gestellt. Die BBB scheint nichts vorzuschlagen und überlässt es dem Nutzer. Daher ist es die beste Idee, einen Benchmark-Test durchzuführen und zu sehen, welche die beste für Ihre Bedürfnisse ist.

Hoffe, das hilft!

+0

"jeder Java-Code wird langsamer als C++" ist nicht korrekt. Gute JVMs haben eine JIT-Kompilierung, eine Ausführung im gemischten Modus, eine Profilerstellung und eine De-Optimierung implementiert, die eine hervorragende Leistung erzielen können. –