Professional Documents
Culture Documents
JVM
STUDIJA IZVODLJIVOSTI
IZJAVA:
Potpis studenta:
1. UVOD ................................................................................................................... 1
1.1 PROBLEM PREDMET I OBJEKT ISTRAŽIVANJA .................................... 1
1.2 SVRHA I CILJEVI ISTRAŽIVANJA ............................................................. 1
1.3 RADNA HIPOTEZA I POMOĆNE HIPOTEZE ......................................... 1
1.2. NAUČNE METODE ..................................................................................... 2
1.5. STRUKTURA RADA ...................................................................................... 2
2. JAVA VIRTUALNA MAŠINA ........................................................................... 3
3. STRUKTURA JVM-a .......................................................................................... 4
3.1 Format class datoteke ......................................................................................... 4
3.2 Vrste podataka.................................................................................................... 4
4. HISTORIJA .......................................................................................................... 5
5. PRIMITINE VRSTE I VRIJEDNOSTI ................................................................ 6
5.1Sastavne vrste i vrijednosti.................................................................................. 6
5.2 Floating-point, vrste vrijednost seta ................................................................... 6
5.3 Tip boolean......................................................................................................... 7
6. REFERENTNE VRIJEDNOSTI I VRSTE .......................................................... 8
7. RUN- TIME DATA PODRUČJA ........................................................................ 8
7.1 Java Virtual Machine Stacks .............................................................................. 9
8. ZADATCI ........................................................................................................... 10
8.1 Sabiranje dva broja ........................................................................................... 10
8.2 Niz .................................................................................................................... 11
8.3Boolean ............................................................................................................. 12
8.4 Ispisivanje informacija o zaposleniku .............................................................. 13
8.5 Ispisivanje programa za izračun i ispis plačanja električne energije .............. 15
8.6 Provjera da je li uneseni podataka cijeli te ako nije ispisuje grešku i poruku .. 16
9. ZAKLJUČAK ..................................................................................................... 17
10. LITERATURA ................................................................................................ 18
1. UVOD
1
1.2. NAUČNE METODE
2
2. JAVA VIRTUALNA MAŠINA
3
3. STRUKTURA JVM-a
Ovaj dokument specificira apstraktni stroj. To ne opisuje bilo posebno provedbu Java
Virtual Machine. Za provedbu Java Virtual Machine ispravno, trebate samo biti u
mogućnosti pročitajte format datoteke klase i pravilno obavljati operacije navedene u
njoj. Provedbeni detalji koji nisu dio Java Virtual Machine specifikaciji nepotrebno
ograničavaju kreativnost implementatora.
Kompajlirani kod koji će biti izvršen od strane Java Virtual Machine je zastupljen
pomoću hardvera i operativnog sustava neovisno o binarnom formatu, obično (ali ne
nužno) pohranjuju se u datoteku, poznat kao klase formatu. Oblik klase datoteku
upravo definira zastupljenost klase ili sučelja, uključujući pojedinosti takvih kao bajt
slaganje koji bi mogli biti uzeti zdravo za gotovo u platformi određenih objekt
datoteka formata.
Kao programski jezik Java, Java Virtual Machine djeluje na dva vrste tipova:
primitivni tipovi i referentni tipovi. Tu su, sukladno tome, dvije vrste vrijednosti koje
mogu biti pohranjene u varijablama, prošao kao argument, vraća metode i operira n:
primitivnim i referentnih vrijednosti. 6 Java Virtual Machine očekuje da gotovo sve
vrste provjera učinjene prije vremena pokretanja, obično je kompajler, i ne mora biti
učinjeno od strane Java Virtual Machine. Vrijednosti primitivnih vrsta ne moraju biti
označeni ili na neki drugi način uočeni da se odredi tip vrste u vrijeme izvođenja, ili
ih treba razlikovati od vrijednosti referentnih tipova.
Umjesto toga, upute za postavljanje od Java Virtual Machine razlikuje svog operanda
vrstu pomoću upute namijenjene za rad na vrijednosti specifične vrste. Na primjer,
iadd, Ladd, fadd i dadd su Java Virtual Machine upute kako dodati dvije brojčane
vrijednosti i proizvesti numeričke rezultate, ali svaki je specijaliziran za operanda
tipa: int, long, float, double i, respektivno. Java Virtual Machine sadrži eksplicitne
podršku za objekte.Objekt je bilo dinamički premještena klasa instance ili
niz.Referenca na objekt smatra se da imaju Java Virtual Machine referencu tipa.
4
Vrijednosti tipa referenca može biti smisljena kao pokazivač na objekte. Više p uta
poziv na objekt može postojati. Objekti su uvijek operirali, i testiran putem
vrijednostima tipa reference.
4. HISTORIJA
5
5. PRIMITINE VRSTE I VRIJEDNOSTI
Primitivni tipovi podataka podržani od strane Java Virtual Machine se brojčane vrste,
tipa Boolean, a retu rnAddress tip. Brojčani vrste sastoje od integer vrsta i floating
types vrste.
6
daljnjem tekstu skraćeno kao "NaN"). NaN vrijednosti se koristi za zastupanje
rezultat određenih nevažećih operacija poput dijeljenja nule nulom.
Konačne nulte vrijednosti bilo s pomičnim zarezom setu sve se može izraziti u oblik
s ⋅ m ⋅ 2^ (e - N + 1), gdje je s^, +1 ili -1, m je pozitivan cijeli broj manji od 2N, te e
je cijeli broj između mjesta Emin = - (2^K-1 -2) i Emax = 2^K-1 - 1, uključivo, i
gdje je N i K su parametri koji ovise o vrijednosti skupa. Neke vrijednosti mogu biti
zastupljene u ovom obliku u više od jednog načina, primjerice, misleći da vrijednost
v u vrijednosti skupa može biti predstavljena u ovom obliku pomoću određene
vrijednosti za e, m, i E, onda, ako bi se dogodilo da su čak i m e manji od 2^K -1,
jedan mogao prepoloviti m i povećati e po jedan za proizvodnju drugi prikaz za istu
vrijednost v. Reprezentacije u ovom obliku se zove normalizirana a ko m ≥ 2^N -1, u
protivnom zastupljenost je rekao da se denormalizirana. Ako je vrijednost u
vrijednosti skupa ne može biti predstavljeni na takav način da je m ≥ 2^N -1, tada se
za vrijednost kaže da je denormalized vrijednost, jer ne ma normaliziranu
zastupljenost.
Iako Java Virtual Machine određuje logičku tip, ona daje samo vrlo ograničenu
podrška za njega. U Java Virtual Machine nema naredbe za uporabu isključivo
posvećene oper aciji na Boolean vrijednosti. Umjesto toga, izrazi u Java
7
programskom jeziku koja radi na Boolean vrijednosti sastavljaju se i koriste
vrijednosti od Java Virtual Machine int tip podataka. Java Virtual Machine izravno
ne podržavaju Boolean polja. njegova newarray upute (§ newarray) omogućuje
stvaranje Boolean polja.
Nizovi tipa Boolean se mogu pristupiti i mijenjati pomoću byte polja upute i baload
bastore (§ baload, § bastore). U Oracle Java Virtual Machine provedbi, Boolean polja
u Java programski jezik koji se kodira kao Java Virtual Machine byte nizovima,
pomoću osam bita po Boolean elementa. Java Virtual Machine kodira Boolean array
komponente pomoću jedan za zastupanje istina, a 0 zastupati lažna. Gdje Java
programski jezik boolean vrijednosti se preslikavaju prevodiocima na vrijednostima
Java Virtual Machine tipa int, i prevodioci moraju koristiti isti kod za kodiranje
Postoje tri vrste referentnih tipova: klase vrste, tipova nizova, sučelje vrste. Njihove
vri jednosti su reference na dinamički stvorene klase slučajevima, nizovi, ili klase
instance ili nizovi koji implementiraju sučelja, respektivno. Niz vrstu čine sastavni
tipovi sa jednom dimenzijom (čija je duljina se ne daje tipu).Komponenta vrsta niz
tipa m ože biti sama niz tipa. Ako, počevši od bilo koje vrste polja, jedan smatra da
je njezine komponente tip, a zatim (ako je i niz tipa) komponenta vrsta tog tipa, i
tako dalje, na kraju mora doći do komponente tip koji nije lepezu tipa, a to se zove
elementa vrsta od polja tipa.Element vrsta niz tipa je nužno bilo primitivni tip, ili
klase tipa, odnosno vrsta sučelja.
Referentna vrijednost također može biti posebna null reference, pozivom na broj
predmeta, koji će biti obilježeni ovdje null.Null reference početku nema run -time
tip, ali može biti izbačen na bilo koju vrstu.Zadana vrijednost referentnog tipa je null.
Java Virtual Machine specifikacija ne propisuje konkretne vrijednosti kodiranja null.
Java Virtual Machine definira r azličite run - time podatke područja koja se koriste u
izvršenje programa. Neki od tih podataka su stvorili područja na Java Virtual Stroj
za start- up i uništeni su samo kada Java Virtual Machine izlazi. Ostali podaci su
područja po nit. Po -nit podataka prostori se stvorio kada se nit stvaraja i uništavaju
kada su nit izlazi.
8
7.1 Java Virtual Machine Stacks
Svaki Java Virtual Machine nit ima privatnu Java Virtual Machine hrpu, stvorenu u
isto vrijeme kao i niti. Java Virtual Machine stog pohranjuje u okvire. Java Virtual
Machine stog analogan je hrpom konvencionalnog jezika kao što su C: drži lokalne
varijable i nepotpunim rezultatima, i igra važnu ulogu u načinu pozivanje i povratak.
Zbog Java Virtual Machine stog nikad se manipulira izravno, osim za push i pop
okviri, okviri mogu biti dodijeljeni gomili memorije za Java Virtual Machine stog ne
moraju biti susjedne. U Java Virtual Machine specifikaciji, Prvo izdanje, Java Virtual
Machine stog bio je poznat kao Java stog.
ava Virtual Machine provedbu može osigurati programer ili kontrola korisnika preko
početne veličine Java virtualni stroj stogova, kao i, u slučaju dinamičkog širenja ili
ugovaranje Java Virtual Machine hrpe, kontrola nad maksimalne i minimalne
veličine. Sljedeći iznimni uvjeti su povezani s Java Virtual Machine stogovima:
Ako računanja u nit zahtijeva veći Java Virt ual Machine snop od dopušteno,
Java Virtual Machine baca StackOverflowError.
Ako Java Virtual Machine hrpe mogu dinamički biti proširen, i širenje
pokušao, ali nedovoljno memorije može se staviti na raspolaganje utjecati na
širenje, ili ako je dovoljno m emorije može biti dostupan za stvaranje početne
JavaVirtual Machine stog za novu temu, Java Virtual Machine baca
OutOfMemoryError.
9
8. ZADATCI
Za pisanje i izvršavanje ovih zadataka koristio sam program jGrasp.
10
8.2 Niz
11
8.3Boolean
12
8.4 Ispisivanje informacija o zaposleniku
13
// u kodu ispod nalazi se glavna klasa kao i glavna main() metoda
14
8.5 Ispisivanje programa za izračun i ispis plačanja električne energije
15
8.6 Provjera da je li uneseni podataka cijeli te ako nije ispisuje grešku i
poruku
16
9. ZAKLJUČAK
Između ostaloga sam napravio i korelaciju floating point -ima,sa IEEE 754. Te usput
rad raspolaže i jako velikim informacijama o vrijednostim tipovima i
referencama,kao i metod okruženju
17
10. LITERATURA
https://jcp.org/aboutJava/communityprocess/maintenance/jsr924/JVM
S-SE5.0-Ch3-Overview.pdf
https://www.jopdesign.com/teaching/JavaJVM.pdf
http://www.cse.psu.edu/~axs53/497b/lectures/lecture5.pdf
https://en.wikipedia.org/wiki/IEEE_754
https://docs.oracle.com/javase/specs/jvms/se7/jvms7.pdf
18