java exceptions exception handling with examples
Ta video vadnica o izjemah Java pojasnjuje vse o ravnanju z izjemami v Javi. Spoznali boste hierarhijo izjem, vrste, metode razredov in še več:
Ko izvajamo programe Java, se zaradi nekaterih nepričakovanih dogodkov prekine normalno vedenje ali običajen potek programa.
Na primer, odpremo datoteko za branje podatkov. Ko se izvede klic Odpri datoteko, ugotovimo, da datoteka, ki jo poskušamo odpreti, manjka. To povzroči prekinitev običajnega pretoka programa.
Ta dogodek, ki vpliva ali prekine običajni tok programa, se imenuje „ Izjema '.
=> Obiščite tukaj in raziščite serijo usposabljanja Java za vse.
Tu je video vadnica o ravnanju z izjemami Java:
Kaj se boste naučili:
Obravnava izjem v Javi
Ko pride do izjeme v programu, se izvajanje programa zaključi. Ker gre za nenadno prekinitev, sistem ustvari sporočilo in ga prikaže. Sporočilo, ki ga ustvari sistem, je lahko skrivnostno kot nekatere kode ali neberljivo.
Običajni uporabnik mora torej razumeti, zakaj je program nenadoma ustavil izvajanje, in mora poznati razlog. Sporočila, ki jih ustvari sistem kot izjema, morda niso v pomoč. V Javi lahko obravnavamo izjemo in uporabniku zagotavljamo smiselna sporočila o težavi.
To ravnanje z izjemami, splošno znano kot 'Obravnava izjem' je ena najpomembnejših lastnosti Java programiranja.
Razlogi za izjemo
Lahko imamo različne razloge, zaradi katerih lahko pride do izjem. Če je to izjema, povezana z vnosom, je razlog lahko v tem, da so vhodni podatki napačni ali neberljivi.
Če dobimo izjemo za vhodno / izhodne datoteke, potem je povsem mogoče, da datoteke, s katerimi imamo opravka, ne obstajajo. Včasih se lahko pojavijo napake, kot so težave z omrežjem, tiskalnik ni na voljo ali deluje itd.
V programu poleg izjem dobimo tudi napake. Za učinkovito obvladovanje izjem se moramo torej zavedati razlik med napako in izjemo.
Napaka pomeni resnejšo težavo z aplikacijo, ki je ne bi smela poskušati ujeti. Nasprotno, izjema je pogoj, ki ga bo poskušala ujeti vsaka razumna aplikacija.
Tako je napaka v aplikaciji resnejša in aplikacije se bodo sesule, ko bodo naletele na napako. Po drugi strani pa se izjeme pojavljajo v kodi in jih programer lahko obravnava z zagotavljanjem korektivnih ukrepov.
Kaj je obravnava izjem?
Obravnava izjem v Javi je mehanizem, s katerim se ohranja normalen pretok aplikacije. Da bi to naredili, uporabljamo zmogljiv mehanizem za obdelavo napak ali izjem med izvajanjem v programu.
Zaporedje kode, ki se uporablja za obravnavo izjeme, se imenuje »Obdelovalec izjem«. Obdelovalec izjeme zasliši kontekst na mestu, ko je prišlo do izjeme. To pomeni, da prebere vrednosti spremenljivk, ki so bile v obsegu, medtem ko je prišlo do izjeme, in nato obnovi program Java, da nadaljuje z običajnim tokom.
Prednosti ravnanja z izjemami
Glavna prednost ravnanja z izjemami je, da ohranja normalen potek aplikacije kljub pojavu izjeme. Ko pride do izjeme, se program običajno nenadoma konča.
Če ima program obdelovalec izjem, program ne bo nenadoma prenehal. Namesto tega obdelovalec izjem zagotavlja, da se vsi stavki v programu izvajajo normalno in da se tok programa nenadoma prekine.
Hierarhija izjem v Javi
Spodnji diagram prikazuje hierarhijo izjem v Javi. Razred java.lang.Throwable (potomec razreda Object) je korenski razred Java Exception. Razreda Izjema in Napaka izhajata iz tega razreda.
Razred izjem je osnovni razred za vse ostale izjeme.
Spodaj je navedena hierarhija razreda izjem v Javi, ki bo naštela vse glavne izjeme, ki bi se jih moral zavedati programer Java.
Razred izjem v Javi
Kot je razvidno iz hierarhičnega diagrama, ima razred Throwable dva neposredna podrazreda, to sta Izjema in Napaka. Izjeme, ki izhajajo iz zunanjega vira, so opisane v razredu izjem.
Razred Exception razglaša konstruktorje kot enake kot Throwable class in priklic vsakega konstruktorja prikliče tudi svoj Throwable dvojnik. Razred izjeme ne prijavi svojih metod, podeduje metode razreda Throwable.
Konstruktorji in metode, ki jih uporablja razred Exception, so predstavljeni spodaj.
Konstruktorji
Graditelj Opis javna izjema () Privzeti konstruktor, ki ustvari novo izjemo s sporočilom kot nič. javna izjema (sporočilo v nizu) Konstruktor za izdelavo nove izjeme z danim sporočilom. V tem primeru vzrok ni inicializiran, za inicializacijo vzroka pa se lahko uporabi poznejši klic Throwable.initCause (java.lang.Throwable). javna izjema (sporočilo v nizu, vzrok za vrnitev) Konstruira novo izjemo z uporabo danega sporočila in vzroka. javna izjema (vzrok za vrnitev) Konstruira novo izjemo z danim vzrokom in sporočilom, ki ga poda (vzrok == null? Null: uzrok.toString ()) (ki običajno vsebuje sporočilo razreda in podrobnosti vzroka). zaščitena izjema (sporočilo v nizu, vzrok za vrnitev, logična omogočitev zatiranja, logična oznaka writableStackTrace) Sestavi novo izjemo z danim sporočilom, vzrokom, preprečevanjem (omogočeno ali onemogočeno) in sledljivostjo zapisljivega sklada (omogočeno ali onemogočeno).
Metode
Prototip metode | Opis |
---|---|
javni niz getMessage () | Pridobite podrobno sporočilo o izjemi, ki se je zgodila. |
public Throwable getCause () | Poiščite vzrok za izjemo, ki jo predstavlja predmet, ki ga lahko vržete |
javni String toString () | Združi ime razreda z rezultatom getMessage () in vrne nastali niz. |
public void printStackTrace () | Natisne rezultat toString () in vsebino sledov sklada v izhodni tok napak System.err. |
javni StackTraceElement [] getStackTrace () | Pridobite vsak element v sledu sklada v obliki matrike. |
javni Throwable fillInStackTrace () | Sled sklada napolnite s trenutno sledjo sklada. |
Primer izjeme
Nato predstavimo program Java, ki prikazuje osnovni primer izjeme. Tu ponujamo spremenljivko niza, inicializirano na ničelno vrednost. Ko poskusimo tiskati to spremenljivko, se vrne izjema, saj vrednost String ne more biti nič.
class Main { public static void main(String args[]){ //declare a String variable and initialize it to null String myStr = null; //print the string System.out.println(myStr.length()); } }
Izhod
Vrste izjem v Javi
Java podpira tri vrste izjem:
- Označena izjema
- Neključena izjema
- Napaka
V tem poglavju bomo razpravljali o vseh zgornjih treh vrstah.
# 1) Označena izjema
Nekatere izjeme se preverijo v času prevajanja, ko se prevede koda. To so »preverjene izjeme«. Program Java vrže napako pri prevajanju, ko ugotovi, da je koda znotraj programa nagnjena k napakam.
Za napake pri prevajanju, ki jih vrže preverjena izjema, lahko poskrbimo tako, da izjeme obdelamo tako, da kodo zapremo v poskusni ulov ali uporabimo ključno besedo throws.
V hierarhiji izjem so razredi, ki neposredno podedujejo razred Throwable, kot so IOException, ClassNotFoundException itd., Izbrani, razen za razrede RuntimeException in Error. To so nepreverjene izjeme.
Naslednji program Java prikazuje preverjene izjeme, FileNotFoundException in IOException. V tem programu poskušamo odpreti neobstoječo datoteko in prebrati iz nje.
Ker datoteka ne obstaja, metoda odprte datoteke vrže FileNotFoundException. Nato, ko poskušamo prebrati vsebino datoteke in jo zapremo, klici metod vržejo IOException.
import java.io.*; class Main { public static void main(String args[]) { FileInputStream fis = null; //Open a file fis = new FileInputStream('C:/myfile.txt'); int k; //read contents of the file while(( k = fis.read() ) != -1) { System.out.print((char)k); } //close the file fis.close(); } }
Izhod
V zgornjem izhodu, ker obdelovalec izjem ni prisoten, dobimo napake prevajanja za preverjene izjeme.
Zdaj pa določimo klavzulo o metanju za ta program. Ker je nadrejeni FileNotFoundException IOException, bomo samo določili IOException po klavzuli vrže.
import java.io.*; class Main { public static void main(String args[]) throws IOException { FileInputStream fis = null; //Open a file fis = new FileInputStream('C:/myfile.txt'); int k; //read contents of the file while(( k = fis.read() ) != -1) { System.out.print((char)k); } //close the file fis.close(); } }
Izhod
Kot je razvidno iz izhoda, ko obravnavamo izjemo, daje bolj smiselne rezultate namesto napak pri prevajanju.
glavna vprašanja za intervju z javo za sveže
# 2) Neključena izjema
Nepreverjene izjeme so izjeme, ki se preverijo med izvajanjem. Kljub izjemam bo torej sestavljanje programov uspešno. Večina nepreverjenih izjem je vrženih zaradi slabih podatkov, uporabljenih v programu.
Razredi, ki podedujejo “RuntimeException”, so nepreverjene izjeme. Izjeme, kot so ArrayIndexOutofBounds Exception, ArithmeticException, NullPOinterException itd., So primeri nepreverjenih izjem.
Naslednji program prikazuje izvzetje med izvajanjem, ki je posledica deljenja števila z ničlo.
class Main { public static void main(String args[]) { int num1=10; int num2=0; //divide both numbers and print the result int result=num1/num2; System.out.println(result); } }
Izhod
Vidimo, da je program uspešno preveden in je nato med izvajanjem vržen ArithmeticException.
Primeri nepreverjene izjeme:
- ArrayIndexOutOfBoundsException
- NullPointerException
- IllegalArgumentException
- NumberFormatException
Poleg zgornjih dveh izjem je še nekaj preverjenih izjem, med katerimi so:
- SQLException
- InvocationTargetExecption
# 3) Napaka
Napaka je običajno nepopravljiva in nepopravljiva situacija v programu in ko pride do napake, se programi zrušijo. Nekateri primeri napak v programu so OutOfMemoryError, AssertionError in VirtualMachineError itd.
Razred napak podeduje iz razreda Throwable. Napaka opisuje situacijo, ki je ni mogoče obravnavati in povzroči zrušitev programa.
Pogovorimo se o napaki OutOfMemory v tem poglavju kot primeru napake.
Vemo, da so vsi predmeti v Javi dodeljeni z novim operaterjem in so shranjeni na kupu. Ko kopici zmanjka pomnilnika, navidezni stroj Java (JVM) ne more dodeliti predmeta. Hkrati zbiralnik smeti ne more sprostiti nobenega pomnilnika. Ta situacija povzroča napako OutOfMemory.
OutOfMemoryError v Javi bo videti tako, kot je prikazano spodaj:
'exception in thread 'main' java.lang.outofmemoryerror: java heap space'
Prisotnost OutOfMemoryError v programu pomeni, da se obdeluje preveč podatkov ali pa se predmeti zadržujejo predolgo. Včasih je lahko tudi neodvisna knjižnica, ki porabi pomnilnik.
Vzroki napake OutOfMemoryError
# 1) Prostor kopice Java
Če ima aplikacija preveč zaključevalcev, zbiralnik smeti predmetov razreda z metodo Finalize ne povrne takoj, ampak jih čaka v čakalni vrsti za dokončanje pozneje. Včasih dokončanje ne more slediti času in pomnilnik kopice se napolni, kar povzroči OutOfMemoryError.
Drug razlog za OutOfMemoryError je, da navedena velikost kopice morda ni zadostna za aplikacijo.
Naslednja koda prikazuje OutOfMemoryError, do katere lahko pride zaradi velike velikosti podatkov, deklarirane za matriko.
import java.util.*; public class Main { static List list = new ArrayList(); public static void main(String args[]) throws Exception { Integer[] array = new Integer[100000 * 100000]; } }
Izhod
# 2) Permgen Space
Območje trajne generacije v pomnilniku je lahko tudi izčrpano in lahko povzroči napako OutOfMemory.
Velikost regije PermGen je določena med zagonom JVM. Če uporabnik ne nastavi velikosti, se uporabi privzeta velikost, ki je odvisna od platforme.
Čeprav sta zgornja dva običajno glavna vzroka za pojav OutOfMemoryError, lahko obstajajo tudi drugi vzroki, kot je velikost polja, ki presega omejitev VM itd.
Seznam izjem v Javi
Spodaj je seznam glavnih izjem v Javi. Za nekatere od teh izjem smo navedli primere programiranja. Upoštevajte, da gre za vgrajene izjeme, ki jih podpira Java.
# 1) ArithmeticException: Aritmetične nepravilnosti, kot je deljenje z nič, povzročijo ArithmeticException.
Spodnji program prikazuje pojav ArithmeticException.
class Main { public static void main(String args[]) { try { //define two numbers int num1 = 100, num2 = 0; int result = num1 / num2; // divide by zero //print the result System.out.println('Result = ' + result); } catch (ArithmeticException e) { System.out.println('ArithmeticException:Division by Zero'); } } }
Izhod
# 2) ArrayIndexOutOfBoundsException: ArrayIndexOutOfBoundsException se vrže, ko se do elementa matrike dostopa z nedovoljenim indeksom. Uporabljeni indeks presega velikost polja ali je negativen.
# 3) ClassNotFoundException: Če definicije razreda ni mogoče najti, se poviša ClassNotFoundException.
# 4) FileNotFoundException: FileNotFoundException je podan, ko datoteka ne obstaja ali se ne odpre.
# 5) IOException: IOException se vrže, ko vhodno-izhodna operacija ne uspe ali je prekinjena.
# 6) InterruptedException: Kadar koli nit izvaja obdelavo ali spanje ali čakanje, jo prekine z vrženjem InterruptedException.
# 7) NoSuchFieldException: Če razred ne vsebuje določenega polja ali spremenljivke, vrže NoSuchFieldException.
# 8) NoSuchMethodException: Ko metode, do katere dostopate, ni mogoče najti, se prikaže NoSuchMethodException.
# 9) NullPointerException: NullPointerException se sproži, ko je naveden ničelni objekt. To je najpomembnejša in najpogostejša izjema v Javi.
# 10) Izjema NumberFormatException: Ta izjema se pojavi, kadar metoda ni mogla pretvoriti niza v številčno obliko.
# 11) RuntimeException: Vsaka izjema, ki se pojavi med izvajanjem, je RuntimeException.
# 12) StringIndexOutOfBoundsException: StringIndexOutOfBoundsException vrže razred String in označuje, da indeks presega velikost predmeta String ali je negativen.
# 13) EOFException: EOFException je del paketa java.io in se vrže, ko dosežete konec datoteke in datoteko berete.
# 14) IllegalArgumentException: IllegalArgumentException se vrže, ko se metodi posredujejo nezakoniti ali neveljavni argumenti. Na primer, napačna oblika podatkov, ničelna vrednost, kadar ni null ali so argumenti zunaj obsega.
Spodnji program Java prikazuje IllegalArgumentException.
public class Main { int m; public static void setMarks(int marks) public static void main(String[] args) { setMarks(45); setMarks(101); } }
Izhod
V zgornjem programu je IllegalArgumentException vržen v drugem klicu funkcije setMarks, kjer vnesemo oznake, ki so izven obsega (> 45).
# 15) InputMismatchException: InputMismatchException se vrže, ko se prebrani vhod ne ujema z določenim vzorcem. Na primer, če program pričakuje celo število in bere float, se poviša InputMismatchException.
# 16) NoSuchElementException: NoSuchElementException se vrže, ko naslednji element, do katerega dostopate, ne obstaja.
Na primer, v Enumeration se metoda nextElement () uporablja za dostop do naslednjega elementa v enumeraciji. Če element ne obstaja, se vrže NoSuchElementException. Večinoma zbirke Java vržejo to izjemo.
Spodnji program to dokazuje.
import java.util.*; public class Main { public static void main(String[] args) { Set hash_Set = new HashSet(); //create an empty hashSet. //This throws NoSuchElementException since hashSet is empty hash_Set.iterator().next(); } }
Izhod
# 17) ConcurrentModificationException: ConcurrentModificationException običajno oddajo razredi Collection. Ta izjema se vrne, ko predmeti poskušajo sočasno spremeniti vir.
Na primer, nit ne more spremeniti zbirke, ko do nje dostopa druga nit. Če dovolimo dve niti, bosta ti dve hkrati dostopali do zbirke in bo prišlo do nedoslednosti.
Naslednji primer prikazuje ConcurrentModificationException.
import java.awt.List; import java.util.*; public class Main { public static void main(String[] args) { ArrayList A_list = new ArrayList<>(); //add elements to the ArrayList A_list.add(10); A_list.add(20); A_list.add(30); Iterator it = A_list.iterator(); while (it.hasNext()) { Integer value = it.next(); System.out.println('ArrayList Value:' + value); if (value.equals(30)) A_list.remove(value); } } }
Izhod
V zgornjem programu med tiskanjem seznama ArrayList hkrati poskušamo izbrisati element. To je sočasen dostop in zato se vrže izjema.
Izjeme po meri v Javi
Do zdaj smo razpravljali o vseh izjemah, ki so vgrajene ali jih zagotavlja jezik Java. Poleg teh izjem lahko določimo tudi lastne izjeme. Te se imenujejo izjeme po meri ali uporabniško določene izjeme.
Z izjemami po meri lahko določimo svoje izjeme glede na naše potrebe.
Naslednji primer prikazuje izjemo po meri, ki smo jo definirali za vrednost Celo število.
//custom exception definition class InvalidValueException extends Exception{ InvalidValueException(String s){ super(s); } } class Main{ static void validate(int int_val)throws InvalidValueException{ if(int_val<10) //value is valid if> 10 else throw exception throw new InvalidValueException('Invalid value'); else System.out.println('This is valid integer'); } public static void main(String args[]){ try{ validate(9); }catch(Exception m){System.out.println('Exception occured: '+m);} System.out.println('Code after Exception'); } }
Izhod
Pogosto zastavljena vprašanja
V # 1) Kaj mislite z izjemo?
Odgovor: Dogodek, ki se zgodi med izvajanjem programa in moti običajni potek izvajanja programa, se imenuje izjema. Izjema je neželena in nepričakovana in se lahko pojavi zaradi zunanjih dejavnikov ali programskih napak.
V # 2) Kakšna je razlika med napakami in izjemami?
Odgovor: Izjema so dogodki, ki motijo običajen potek programa. V našem programu lahko obravnavamo izjeme in normalno nadaljujemo s programom. Napaka je nepopravljiv dogodek, ki ga ni mogoče obravnavati in konča program.
V # 3) Kaj mislite z obravnavo izjem?
Odgovor: Postopek določanja zaporedja korakov v programu za obravnavo izjeme se imenuje obravnava izjem. Z zagotavljanjem obdelovalcev izjem v programu lahko zagotovimo normalen potek programa.
V # 4) Kakšne so prednosti obravnave izjem v Javi?
Odgovor: Z uporabo obravnave izjem lahko vzdržujemo običajen potek izvajanja aplikacije. Napake lahko razširimo tudi po svežnju klicev, če nudimo obdelovalce izjem.
V # 5) Kakšna je korist od obravnave izjem?
Odgovor: Če ne prekinete običajnega poteka izvajanja aplikacije, je glavna uporaba obdelovalcev izjem v programu. Brez obdelovalcev izjem se program zaključi in ob poteku izjeme se prekine običajni tok izvajanja.
Z izjemo, ki je pravilno obdelana v programu, lahko nadaljuje s svojim običajnim izvajanjem, tudi če pride do izjeme.
Več primerov o izjemah
Izjema je dogodek, ki se zgodi med izvajanjem programa in moti izvajanje programa. Zaradi tega se bo programska oprema nenadoma končala.
Ko pride do te izjeme, Java ustvari objekt s sporočilom o napaki in informacijami o razredu. To je objekt izjeme.
Zakaj potrebujemo izjemo v Javi?
Razred ExcepDemo brez izjeme:
public class ExcepDemo { public static void main(String[] args) { int i=5; int j=0; System.out.println(i/j); System.out.println('statement after division'); } }
IZHOD:
Razred ExcepDemo z obravnavo izjem:
public class ExcepDemo { public static void main(String[] args) { // TODO Auto-generated method stub int i=5; int j=0; try { System.out.println(i/j); } catch(ArithmeticException ae) { System.out.println('wrong input'); } System.out.println('statement after division'); } }
IZHOD:
Poskusite, ulovite in končno blokirajte:
- Izjemo obravnava try, catch block.
- Izjave, ki lahko vodijo do izjem, so zapisane v bloku try.
- Ko pride do izjeme, se izvršijo stavki znotraj bloka catch. Če se izjema ne zgodi, blok catch ne bo izveden.
- Ne glede na to, ali je prišlo do izjeme ali ni, se izvede zadnji blok.
Vrste izjem
Neključena izjema:
Ker se nepreverjenim izjemam lahko izognete s pravilnim programiranjem ( Npr. null pointer Exception, Arithmetic Exception) prevajalnik ne bo preveril. Neizključena izjema bo vržena med izvajanjem.
Označena izjema:
- Preverjeno izjemo bo preveril prevajalnik in obvezno, da vrže ali obravnava izjemo.
- Ta izjema se uporablja za ločevanje kode za obdelavo napak od običajne kode.
- Vse preverjene izjeme so združene in je koristno pri razlikovanju težav.
Primer: java.io
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class DemoExpChecked { public static void main(String[] args) { try { File file=new File('input.txt'); BufferedReader br = new BufferedReader(new FileReader(file)) ; String content; while ((content=br.readLine())!=null) { System.out.println(content); } br.close(); } catch(IOException e) { e.printStackTrace(); } } }
Napake
Do napake lahko pride zaradi programskih logičnih napak ali katerega koli pomnilnika, povezanega s težavo JVM.
Primer: Napaka zunaj pomnilnika ali napaka pri prelivanju sklada.
Vrzi in vrzi
Ključna beseda 'vrzi' se uporablja za vrnitev izjeme, medtem ko se ključna beseda 'vrže' uporablja za razglasitev izjeme.
Vrzi primer programa:
public class Demothrow { String content ; public void driving(String c) { this.content=c; if (content.isEmpty()) { throw new NullPointerException('content is empty'); } else { System.out.println('content=='+content); } } public static void main(String[] args) { Demothrow dt=new Demothrow(); dt.driving(''); } }
Primer programa za metanje:
kaj je datoteka .bin
Vrzi se uporabljajo za podajanje informacij, da ta metoda vrže to posebno izjemo. Ko pokličete to določeno metodo, morate to izjemo obravnavati.
public class DemoThrows { int i=2,j=0; public void checkmethod () throws ArithmeticException{ System.out.println(i/j); } public static void main(String[] args) { DemoThrows d =new DemoThrows(); try { d.checkmethod(); } catch (ArithmeticException ae) { ae.printStackTrace(); } } }
Ključne točke, ki jih je treba upoštevati:
- Izjeme so neobičajni dogodki, ki se pojavijo med izvajanjem programa in bodo vplivali na tok izvajanja.
- Napaka se razlikuje od izjem. Primer napak: Pomnilnik zaradi napake.
- Označene izjeme se preverijo med prevajanjem in je obvezno obravnavati to preverjeno izjemo.
- Med izvajanjem se pojavi nepreverjena izjema.
Zaključek
Ta vadnica o ravnanju z izjemami v Javi je predstavila definicijo izjem, ravnanje z izjemami in hierarhijo izjem v Javi. Razpravljali smo tudi o razredu izjem v Javi, ki ponuja različne konstruktorje in metode za dostop do izjem.
Preučili smo seznam pogostih izjem, ki se pojavljajo v Javi, in videli primere programiranja za glavno izjemo. Razpravljali smo tudi o glavnih napakah, ki se pojavijo v programu Java, skupaj z vrstami izjem in izjemami po meri.
=> Tukaj preverite VSE Vadnice za Java.
Priporočeno branje
- 10 najboljših izjem iz selena in kako z njimi ravnati (natančna koda)
- Obravnava izjem JDBC - Kako ravnati z izjemami SQL
- Kako ravnati z izjemami v groovy skriptih SoapUI - Vadnica SoapUI št. 11
- Java String z vmesnikom String Buffer in String Builder
- Uvajanje Java: Ustvarjanje in izvajanje datoteke Java JAR
- Java niti z metodami in življenjskim ciklom
- Navidezni stroj Java: kako JVM pomaga pri zagonu aplikacije Java
- Dostopni modifikatorji v Javi - Vadnica s primeri