JavaRush /Java-Blog /Random-DE /In der Theorie über Bytecode, JVM und Mikrocontroller | J...
Gro
Level 19
Минск

In der Theorie über Bytecode, JVM und Mikrocontroller | Java-Code für MK

Veröffentlicht in der Gruppe Random-DE
Artikelentwurf. Letztendlich werde ich mehrere Wiki-ähnliche Artikel schreiben, nach folgendem Schema:

Thema: Wo und wie Java funktioniert
Über die Struktur von Java
Über Hardware
Wie diese Software auf Hardware funktioniert

In dem Artikel ging es um die Probleme, auf die ich gestoßen bin. Nachdem ich die Informationen studiert hatte, ergänzte ich sie mit Antworten.
Es ist eine Mischung aus den oben genannten Themen.

Hallo!

Vorwort. (Offtopic)
Ich hatte und habe immer noch den wachsenden Wunsch, eine Art vollständig physische Einheit zu konstruieren.
Eine Einheit, die auf einer einfachen Idee basiert und mich völlig in ihren Bann gezogen hat.
Eine Idee, die meiner Entwicklung für die nächsten zehn Jahre die Richtung vorgab.
Theoretisch ist das Design eines Geräts bereits zur Hälfte fertig und implementiert einen kleinen Teil der Fähigkeiten dieses geplanten Kolosses.

Gerade jetzt, als ich das halbfertige Design fertigstellte und mich detaillierter mit den Komponenten beschäftigt hatte, stand ich vor der Notwendigkeit, Servomotoren zu steuern und dementsprechend einige „Gehirne“ zu programmieren.

Hier kommen eine Reihe von Fragen ins Spiel, die wie folgt zusammengefasst werden können: „Ist es möglich und wie, den MK zu zwingen, Java-Code auszuführen?“




Körper. Details zu den Fragen.
Wir erinnern uns, dass der Java-Code, den wir schreiben, in Bytecode umgewandelt wird, der wiederum von der JVM in Maschinencode interpretiert wird, Code, der aus Befehlen besteht, die von der Hardware verstanden werden. Jeder versteht den Grund für diese besondere Situation – Portabilität/Portabilität gepaart mit höherer Geschwindigkeit (im Vergleich zu einfach interpretierten Sprachen).

Nachdem ich das herausgefunden hatte, blieben mir Fragen offen, tauchten auf und wurden nun durch neue ergänzt.
1. Ist es mit Standard-JVM-Tools möglich, den gesamten Bytecode auf einmal vollständig in Maschinencode umzuwandeln bzw. zu kompilieren?
wenn falsch. Gibt es Tools von Drittanbietern? Zumindest irgendwie?

2. Unterstützt die JVM Mikrocontroller/Controller? (Ich weiß nicht viel über eiserne „Gehirne“; wenn es jemand weiß, sagen Sie es mir bitte).
wenn ja. Gibt es Unterschiede/Besonderheiten zum Arbeiten auf unseren üblichen PCs?




Aktualisiert! 09.04
Zu 1. Es ist nicht möglich, den Code mit einem Standardtool (gemeint ist JVM) mit Maschinengeschwindigkeit auszuführen, zumindest sagt uns das das Wiki , aber von da an wurde klar, dass es ein Tool eines Drittanbieters gibt – GCJ . Es ist eine Alternative zur JVM und hat so einen schönen Bonus im Arsenal. Ich konnte keine genauen Informationen zu den Plattformen (Hardware) finden, für die die Kompilierung unterstützt wird – „viele“.
Der Unterschied zwischen Byte-Code und Native-Code:
1) Native startet schneller.
2) Es gibt keine Garantie dafür, dass Native schneller arbeitet.
3) Meines Erachtens verfügt Native nicht über das Betriebssystem und die JVM, was sich erheblich auf die dafür erforderliche Menge auswirkt Betrieb des ROM- Programms .

Vielleicht kann diese Lösung als Alternative zur ME-Version dienen .
(Heftige Frage, denn:
1) Es ist nicht bekannt, ob GCJ solch leistungsschwache Hardwareplattformen unterstützt.
2) Es liegen keine Informationen zur Leistung dieses Codes vor.

Aktualisiert. 11.04
Zu 2. Jede Version der Java-Sprache, sei es ME, SE oder Embedded, arbeitet zusammen mit der JRE und wird interpretiert. Mit Ausnahme des obigen Falls und der beiden unten beschriebenen zukünftigen Fälle.
Erstens gab es Versuche, das Betriebssystem aus der Kette zu verdrängen und es durch ein eigenes, ausschließlich Java-orientiertes Tool zu ersetzen. Worum es geht, erfahren Sie hier .
Zweitens stellte sich heraus, dass es Java-orientierte Prozessoren gibt, deren Merkmal ein eingebauter Coprozessor ist, der Bytecode in Hardware (! nicht in Software) interpretiert und zur Ausführung sendet.
Lesen Sie mehr über Jazelle .
Es ist reich hier .


Offtopic
Bei der Idee handelt es sich um „Feedback“, eine konkret umgesetzte Art im künftigen Prototypen – Druck/Druckwiderstand.
Nimm diese Gelegenheit um. Wenn wir Menschen der Stufen 15–25 lesen, gründen wir eine kleine Community für Kommunikation/Tete-à-tete. Denn allein es gibt überhaupt keinen Mut und noch mehr - völligen Horror.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION