jezik je jako dugo u IT industriji. Ima neke vrhunske koncepte koji ga čine boljim od ostatka programskog jezika. Jedan od takvih koncepata je virtualni stroj Java, u ovom ćemo članku naučiti o različitim aspektima detaljan virtualni stroj. Slijede teme o kojima se raspravlja na ovom blogu:
- Što je Java virtualni stroj?
- Zašto trebamo Java virtualni stroj?
- Java arhitektura virtualnog stroja
- Proces izvršenja
- Razlika između JDK, JRE i JVM
Što je Java virtualni stroj?
Java virtualni stroj je apstraktni stroj neovisan o platformi koji pruža runtime okruženje u kojem se izvršava Java bajt kôd.
Dio je Java runtime okruženja koje Java bajtkod pretvara u strojno čitljiv jezik. Glavni koje imamo u programu Java zapravo naziva Java virtualni stroj.
Zašto trebamo Java virtualni stroj?
Virtualni stroj Java potreban nam je za zadatke koje obavlja, a koji su izuzetno potrebni za bilo koji razvoj koji uključuje Javu. Slijedi nekoliko zadataka koje obavlja Java virtualni stroj.
- Učitava kod
- Provjera koda
- Izvršenje koda
- Omogućuje radno okruženje za aplikacije
- Područje memorije
- Registar postavljen
- Pruža hrpu odvoza smeća
- Prijavljivanje fatalnih pogrešaka
- Pruža a razred format datoteke
Uz sve ove operacije, Java virtualni stroj sastavni je dio Java razvoja. Pokušajmo shvatiti kako to funkcionira uz pomoć arhitekture Java virtualnog stroja.
Java arhitektura virtualnog stroja
Arhitektura Java virtualnog stroja prilično je jednostavna, među ostalim komponentama ima memorijsko područje, učitavač klase i izvršni mehanizam. razgovarajmo detaljno o svakom od njih.
ClassLoader
To je podsustav koji se koristi za učitavanje datoteka klase. Kad god pokrenemo program u javi, prvo ga učita ClassLoader. glavna funkcija uključuje inicijalizaciju, povezivanje i učitavanje. Slijede ugrađeni učitači razreda u Javi.
Bootstrap ClassLoader - Super klasa Proširenja ClassLoader učitava datoteku rt.jar.
Proširenje ClassLoader - Učitava jar datoteke koje se nalaze u direktoriju.
kako koristiti skupove u javi -
Sustav / primjena ClassLoader - učitava datoteke predavanja s puta predavanja.
Učitavanje - Prvo classLoader učitava .class datoteke i generira odgovarajuće podatke u binarnom formatu koji se sprema u područje metode.
Operacija povezivanja - Nakon učitavanja priprema, provjerava i donosi rješenje. JVM dodjeljuje memoriju za varijable klase i inicijalizira memoriju na zadane vrijednosti. Osigurava ispravnost .class datoteke, a kad provjera ne uspije, dobit ćemo pogrešku u vrijeme izvođenja.
Inicijalizacija - Sve statičke varijable dodjeljuju se sa svojim vrijednostima definiranim u bloku koda u ovoj fazi.
JVM memorija
Područje metode - Pohranjuje strukture za svaku klasu poput koda, podataka polja, spremišta konstante vremena izvođenja, podataka metode itd.
kako koristiti datoteke u javi -
Hrpa - Objekti se dodjeljuju tijekom izvođenja u hrpi.
JVM jezični stogovi - Pohranjuje lokalne varijable i rezultate. Igra važnu ulogu u pozivanju i vraćanju rezultata. Kad god se metoda pozove, okvir se kreira i uništava čim se poziv završi ili dovrši.
PC registri - Ima adresu ili mjesto JVMinstrukcije koja se izvršava.
Klase izvornih metoda - Sve izvorne metode korištene u aplikacijama prisutne su u matičnim skupinama metoda.
Izvršni stroj - Izvršni mehanizam sadrži virtualni procesor, tumač i a JIT sastavljač.
Izvorna metoda Sučelje - To je koja pruža.
Sad kad smo razumjeli arhitekturu JVM-a, pogledajmo postupak izvršenja i kompilaciju koda.
Proces izvršenja
Sljedeći koraci odvijaju se tijekom izvršavanja i kompiliranja Java koda.
- Glavna metoda pohranjena je u jednoj datoteci, a ostale metode u različitim datotekama.
- Nakon kompilacije pružit će odgovarajuće .class datoteke koje će imati bajt kôd bez ikakvog povezivanja, za razliku od C.
- Tijekom izvršavanja datoteke klase provjeravaju se radi kršenja pomoću Classloader-a.
- Nakon toga, bajt kod se pretvara u odgovarajući izvorni strojni kôd. To je ujedno i razlog zašto je Java usporeno sporija.
Sad kad znamo kako funkcionira izvršenje, pogledajmo razliku između JDK, JRE i JVM.
Razlika između JDK, JRE i JVM
Slijedi nekoliko važnih razlika između JDK , JVM i JRE.
- JDK je kratica za Java razvojni komplet, a JRE skraćenica za Java runtime okruženje.
- JDK je za razvoj, dok je JRE za radno okruženje.
- JVM je važan dio JDK-a i JRE-a za pokretanje bilo kojeg Java programa.
- JVM je sastavni dio Java programiranja i pruža neovisnost o platformi.
Ovo nas dovodi do kraja ovog članka gdje smo detaljno saznali o Java virtualnom stroju. Nadam se da vam je jasno sve što je s vama podijeljeno u ovom vodiču.
Ako vam je ovaj članak o “Java virtualnom stroju” relevantan, pogledajte Edureku , pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta.
pitanja za intervju za loader Java klase
Ovdje smo da vam pomognemo u svakom koraku na putovanju i osmislimo kurikulum namijenjen studentima i profesionalcima koji žele biti programer Java. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.
Ako naiđete na neko pitanje, slobodno postavite sva svoja pitanja u odjeljku za komentare 'Java Virtual Machine' i naš će tim rado odgovoriti.