JavaRush /Java Blog /Random-TL /Sa teorya tungkol sa bytecode, JVM at microcontrollers | ...
Gro
Antas
Минск

Sa teorya tungkol sa bytecode, JVM at microcontrollers | Java code para sa MK

Nai-publish sa grupo
Draft na artikulo. Sa huli, magsusulat ako ng ilang artikulong mala-wiki, ayon sa sumusunod na pamamaraan:

Paksa: Saan at paano gumagana ang Java
- Tungkol sa istruktura ng Java
- Tungkol sa hardware
- Paano gumagana ang software na ito sa hardware

Ang artikulo ay tungkol sa mga problemang naranasan ko. Nang mapag-aralan ang impormasyon, dinagdagan ko ito ng mga sagot.
Ito ay pinaghalong mga paksa sa itaas.

Kamusta!

Paunang Salita (Offtopic)
Nagkaroon ako at mayroon pa ring lumalaking pagnanais na bumuo ng ilang uri ng ganap na pisikal na yunit.
Isang unit na nakabatay sa isang simpleng ideya na lubos na sumisipsip sa akin.
Isang ideya na nagtatakda ng direksyon para sa aking pag-unlad para sa susunod na sampung taon.
Sa teorya, kalahating handa na ang disenyo ng isang device, na nagpapatupad ng kaunting kakayahan ng nakaplanong colossus na iyon.

Sa ngayon, kapag tinatapos ang semi-tapos na disenyo, na nalubog ang aking sarili sa mga bahagi nang mas detalyado, nahaharap ako sa pangangailangan na kontrolin ang mga servomotor at, nang naaayon, mag-program ng ilang "utak".

Dito pumapasok ang isang serye ng mga tanong, na maaaring ibuod sa "Posible ba, at paano, pilitin ang MK na magsagawa ng java code?"




Katawan. Mga detalye tungkol sa mga tanong.
Naaalala namin na ang java code na aming isinulat ay na-convert sa byte code, na, sa turn, ay binibigyang kahulugan ng JVM sa machine code, code na binubuo ng mga command na naiintindihan ng hardware. Naiintindihan ng lahat ang dahilan para sa partikular na sitwasyong ito - portability/portability kasama ng mas mabilis na bilis (kumpara sa mga simpleng binibigyang kahulugan na mga wika).

Matapos kong malaman ito, mayroon akong mga tanong na nanatiling hindi nasasagot, lumitaw at dinagdagan ng mga bago ngayon.
1. Posible ba, gamit ang karaniwang mga tool ng JVM, na ganap na mai-convert ang lahat ng byte code sa machine code nang sabay-sabay / I-compile ito?
kung mali.Mayroon bang mga tool ng third-party? Kahit papaano?

2. Sinusuportahan ba ng JVM ang mga microcontroller/controller? (Wala akong masyadong alam tungkol sa bakal na "utak"; kung may nakakaalam, mangyaring sabihin sa akin).
kung totoo. Mayroon bang anumang mga pagkakaiba/mga espesyal na tampok mula sa pagtatrabaho sa aming karaniwang mga PC?




Na-update! 09.04
Tungkol sa 1. Hindi posible na patakbuhin ang code sa bilis ng makina gamit ang isang karaniwang tool (ibig sabihin JVM), hindi bababa sa iyon ang sinasabi sa amin ng wiki , ngunit mula roon ay naging malinaw na mayroong isang third-party na tool - GCJ . Ito ay isang alternatibo sa JVM at may napakagandang bonus sa arsenal nito. Hindi ko mahanap ang eksaktong impormasyon tungkol sa mga platform (hardware) kung saan sinusuportahan ang compilation - "marami".
Ang pagkakaiba sa pagitan ng byte-code at native-code:
1) native na nagsisimula nang mas mabilis
2) Walang mga garantiya na ang native ay gagana nang mas mabilis
3) Sa paniniwala ko, hindi dadalhin ng native ang OS at JVM, na makabuluhang nakakaapekto sa halagang kinakailangan para sa pagpapatakbo ng programa ng ROM .

Marahil ang solusyon na ito ay maaaring kumilos bilang isang kahalili sa bersyon ng ME .
(Mabigat na tanong, dahil:
1) Hindi alam kung sinusuportahan ng GCJ ang gayong mga platform ng hardware na mababa ang pagganap.
2) Walang impormasyon tungkol sa pagganap ng code na ito.

Na-update. 11.04
Tungkol sa 2. Anumang bersyon ng wikang Java, maging ME, SE o Embedded, ay gumagana kasabay ng JRE, na binibigyang-kahulugan. Maliban sa kaso sa itaas at sa dalawang hinaharap na inilarawan sa ibaba.
Una, may mga pagtatangka na i-squeeze ang OS mula sa chain, pinapalitan ito ng sarili nilang, eksklusibong Java-oriented na tool. Tungkol sa kung ano ito, narito .
Pangalawa, lumabas na may mga Java-oriented na mga processor, ang kanilang tampok ay isang built-in na coprocessor na binibigyang kahulugan ang byte-code sa hardware (! hindi sa software) at ipinapadala ito para sa pagpapatupad.
Magbasa pa tungkol kay Jazelle .
Mayaman dito .


Offtopic
Ang ideyang pinag-uusapan ay "feedback", isang partikular na ipinatupad na uri sa hinaharap na prototype - pressure/pressure resistance.
Gamitin ang pagkakataong ito. Sa pagbabasa ng mga tao sa antas 15-25, gumawa tayo ng isang maliit na komunidad para sa komunikasyon/tete-a-tete. Para sa nag-iisa walang lakas ng loob sa lahat, at higit pa - kumpletong horror.

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