java exceptions exception handling with examples
Ovaj video vodič za iznimke Java objašnjava sve o rukovanju iznimkama u Javi. Naučit ćete o hijerarhiji izuzetaka, vrstama, metodama razreda i još mnogo toga:
Kada izvršavamo Java programe, normalno ponašanje ili normalan tijek programa se prekida zbog nekih neočekivanih događaja.
Na primjer, otvaramo datoteku za čitanje podataka. Kada se izvrši poziv Otvori datoteku, nalazimo da datoteka koju pokušavamo otvoriti nedostaje. To rezultira prekidom normalnog tijeka programa.
Ovaj događaj koji utječe ili prekida normalan tijek programa naziva se „ Iznimka '.
=> Posjetite ovdje da biste istražili seriju Java treninga za sve.
Evo video vodiča o rukovanju Java iznimkama:
Što ćete naučiti:
Rukovanje iznimkama u Javi
Kada se u programu dogodi iznimka, izvršavanje programa se prekida. Budući da se radi o naglom prekidu, sustav generira poruku i prikazuje je. Poruka koju generira sustav može biti tajna poput nekih kodova ili nečitljiva.
Stoga bi normalni korisnik trebao razumjeti zašto je program naglo zaustavio njegovo izvršavanje, trebao bi znati razlog. Poruke generirane sustavom kao rezultat iznimke možda neće biti korisne. U Javi se možemo nositi s iznimkom i korisniku pružiti značajne poruke o problemu.
Ovo postupanje s iznimkom, obično poznato kao 'Rukovanje iznimkama' je jedna od istaknutih značajki Java programiranja.
Razlozi za izuzetak
Možemo imati razne razloge zbog kojih se mogu dogoditi iznimke. Ako je to iznimka koja se odnosi na unos, onda razlog može biti taj što su ulazni podaci netočni ili nečitljivi.
Ako dobijemo iznimku za I / O datoteke, sasvim je moguće da datoteke s kojima imamo posla ne postoje. U neko drugo vrijeme mogu postojati pogreške poput mrežnih problema, pisača koji nije dostupan ili ne funkcionira itd.
U programu, osim iznimki, dobivamo i pogreške. Stoga, da bismo učinkovito postupali s iznimkama, moramo biti svjesni razlika između pogreške i iznimke.
Pogreška ukazuje na ozbiljniji problem s aplikacijom i aplikacija je ne bi trebala pokušavati uhvatiti. Naprotiv, iznimka je uvjet koji će svaka razumna aplikacija pokušati uhvatiti.
Stoga je pogreška u aplikaciji ozbiljnija i aplikacije bi se srušile kad naiđu na pogrešku. S druge strane, iznimke se javljaju u kodu i programer ih može riješiti pružanjem korektivnih radnji.
Što je postupanje s iznimkama?
Rukovanje iznimkama u Javi je mehanizam pomoću kojeg se održava normalan tijek aplikacije. Da bismo to učinili, koristimo snažni mehanizam za rukovanje pogreškama ili izuzecima tijekom izvođenja u programu.
Slijed koda koji se koristi za obradu iznimke naziva se 'rukovatelj iznimkom'. Rukovatelj iznimkom ispituje kontekst u trenutku kada se iznimka dogodila. To znači da čita vrijednosti varijabli koje su bile u opsegu dok se dogodila iznimka, a zatim obnavlja Java program da bi nastavio s normalnim protokom.
Prednosti rukovanja iznimkama
Glavna je prednost rukovanja iznimkama u tome što se održava normalan tijek aplikacije unatoč pojavi iznimke. Kada se dogodi iznimka, program se obično naglo završava.
Imati rukovatelj iznimkom u programu neće dovesti do naglog prekida programa. Umjesto toga, rukovatelj iznimkama osigurava da se svi izrazi u programu izvršavaju normalno i da se tijek programa ne prekida naglo.
Hijerarhija iznimke u Javi
Dijagram u nastavku prikazuje hijerarhiju izuzetaka u Javi. Klasa java.lang.Throwable (potomak klase Object) korijenska je klasa Java Exception. Razredi Iznimka i Pogreška izvedeni su iz ove klase.
Klasa iznimke je osnovna klasa za sve ostale iznimke.
Slijedi hijerarhija klase Exception u Javi koja će navesti sve glavne iznimke kojih bi Java programer trebao biti svjestan.
Iznimka klase u Javi
Kao što se vidi na hijerarhijskom dijagramu, klasa Throwable ima dvije izravne potklase, tj. Iznimka i Pogreška. Iznimke koje proizlaze iz vanjskog izvora opisane su u klasi Exception.
Klasa Exception deklarira konstruktore kao iste kao klasa Throwable, a pozivanje svakog konstruktora također poziva njegov Throwable kolegu. Klasa iznimke ne deklarira svoje metode, ona nasljeđuje metode klase Throwable.
Konstruktori i metode koje klasa Exception koristi su predstavljeni u nastavku.
Konstruktori
Graditelj Opis javna iznimka () Zadani konstruktor koji konstruira novu iznimku s porukom kao null. javna iznimka (niska poruka) Konstruktor za konstrukciju nove iznimke s danom porukom. U tom slučaju uzrok nije inicijaliziran, a za inicijalizaciju uzroka može se koristiti naknadni poziv Throwable.initCause (java.lang.Throwable). javna iznimka (niz poruka, uzrok za bacanje) Konstruira novu iznimku pomoću zadane poruke i uzroka. javna iznimka (uzrok za bacanje) Konstruira novu iznimku s danim uzrokom i porukom koju daje (uzrok == null? Null: uzrok.toString ()) (koja obično sadrži poruku klase i detalja uzroka). zaštićena iznimka (poruka niza, uzrok koji se može baciti, logička logika enableSuppression, logička vrijednost writableStackTrace) Konstruira novu iznimku s danom porukom, uzrokom, suzbijanjem (omogućeno ili onemogućeno) i zapisom traga stoga (omogućen ili onemogućen).
Metode
Prototip metode | Opis |
---|---|
javni niz getMessage () | Primite detaljnu poruku o iznimci koja se dogodila. |
public Throwable getCause () | Doznajte uzrok iznimke predstavljene objektom koji se može baciti |
javni String toString () | Spaja ime klase s rezultatom getMessage () i vraća rezultirajući niz. |
public void printStackTrace () | Ispisuje rezultat toString () i sadržaj traga steka u izlazni tok pogreške, System.err. |
javni StackTraceElement () getStackTrace () | Dobijte svaki element u tragu stoga u obliku niza. |
javna mogućnost bacanja fillInStackTrace () | Napunite trag stoga trenutnim tragom stoga. |
Primjer iznimke
Dalje, predstavljamo Java program kako bismo demonstrirali osnovni primjer iznimke. Ovdje pružamo varijablu niza inicijaliziranu na null vrijednost. Kada pokušavamo ispisati ovu varijablu, izbacuje se iznimka jer vrijednost String ne može biti null.
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()); } }
Izlaz
Vrste izuzetaka u Javi
Java podržava tri vrste izuzetaka:
- Označena iznimka
- Neoznačena iznimka
- Pogreška
U ovom ćemo odjeljku razgovarati o sve gore navedene tri vrste.
# 1) Označena iznimka
Neke se iznimke provjeravaju u vrijeme prevođenja kada se kod kompajlira. To su 'Provjerene iznimke'. Java program baca pogrešku pri kompilaciji kad utvrdi da je kôd unutar programa sklon pogreškama.
Možemo se pobrinuti za pogreške u kompilaciji bačene provjerenom iznimkom rukovanjem iznimkama zatvaranjem koda u blok try-catch ili upotrebom ključne riječi throws.
U hijerarhiji iznimki, klasa koja izravno nasljeđuje klasu Throwable poput IOException, ClassNotFoundException, itd. Sve su provjerene iznimke, osim za klase RuntimeException i Error. To su neprovjerene iznimke.
Sljedeći Java program prikazuje provjerene iznimke, FileNotFoundException i IOException. U ovom programu pokušavamo otvoriti nepostojeću datoteku i čitati iz nje.
Kako datoteka ne postoji, metoda otvorene datoteke baca FileNotFoundException. Dalje, kada pokušamo pročitati sadržaj datoteke i zatvoriti datoteku, pozivi metoda bacaju 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(); } }
Izlaz
U gore navedenom izlazu, budući da rukovatelj iznimkama nema, dobivamo pogreške kompilacije za provjerene iznimke.
Sad ćemo dati klauzulu bacanja za ovaj program. Kako je roditelj FileNotFoundException IOException, samo ćemo navesti IOException nakon klauzule throws.
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(); } }
Izlaz
Kao što se vidi iz rezultata, kada obrađujemo iznimku, on daje značajniji izlaz umjesto pogrešaka u kompilaciji.
# 2) Neoznačena iznimka
Neprovjerene iznimke su iznimke koje se provjeravaju u vrijeme izvođenja. Stoga će unatoč iznimkama kompilacija programa biti uspješna. Većina neprovjerenih iznimaka baca se zbog loših podataka koji se koriste u programu.
Klase koje nasljeđuju “RuntimeException” su neprovjerene iznimke. Iznimke poput ArrayIndexOutofBounds Exception, ArithmeticException, NullPOinterException itd. Primjeri su neprovjerenih iznimaka.
Sljedeći program prikazuje iznimku tijekom izvođenja koja je nastala dijeljenjem broja s nulom.
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); } }
Izlaz
kako otvoriti jar datoteke
Vidimo da je program uspješno kompiliran, a zatim se ArithmeticException baca u vrijeme izvođenja.
Primjeri neprovjerene iznimke:
- ArrayIndexOutOfBoundsException
- NullPointerException
- IlegalArgumentException
- NumberFormatException
Osim gornje dvije iznimke, postoji još nekoliko provjerenih iznimki, uključujući:
- SQLException
- InvocationTargetExecption
# 3) Pogreška
Pogreška je obično nepovratna i nepopravljiva situacija u programu i kada se dogodi pogreška, programi se sruše. Neki od primjera pogrešaka u programu su OutOfMemoryError, AssertionError i VirtualMachineError itd.
Klasa greške nasljeđuje se iz klase Throwable. Pogreška opisuje situaciju koja se ne može riješiti i rezultira padom programa.
Razmotrimo pogrešku OutOfMemory u ovom odjeljku kao primjer pogreške.
Znamo da su svi objekti u Javi dodijeljeni pomoću novog operatora i pohranjeni u hrpu. Kad hrpi nestane memorije, Java virtualni stroj (JVM) ne može dodijeliti objekt. Istovremeno, sakupljač smeća ne može osloboditi memoriju. Ova situacija dovodi do pogreške OutOfMemory.
OutOfMemoryError u Javi izgledat će kao što je prikazano u nastavku:
'exception in thread 'main' java.lang.outofmemoryerror: java heap space'
Prisutnost OutOfMemoryError u programu znači da se obrađuje previše podataka ili se predmeti drže predugo. Ponekad to može biti i biblioteka treće strane koja troši memoriju.
Uzroci pogreške OutOfMemoryError
# 1) Prostor hrpe Java
Ako aplikacija ima previše finalizatora, sakupljač smeća ne vraća odmah objekte klase koji imaju metodu Finalize, već se stavljaju u red za dovršenje kasnije. Ponekad finalizacija ne može pratiti vrijeme, a hrpa memorije se popunjava što rezultira OutOfMemoryError.
Drugi razlog za OutOfMemoryError je taj što navedena veličina hrpe može biti nedovoljna za aplikaciju.
Sljedeći kod prikazuje OutOfMemoryError koji se može dogoditi zbog velike veličine podataka deklarirane za niz.
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); } }
Izlaz
# 2) Prostor Permgen
Područje trajne generacije u memoriji također se može iscrpiti i moglo bi generirati pogrešku OutOfMemory.
Veličina PermGen regije postavlja se tijekom pokretanja JVM-a. Ako korisnik ne postavi veličinu, tada se koristi zadana veličina koja ovisi o platformi.
Iako su gornja dva obično glavni uzroci pojave OutOfMemoryError, mogu postojati i drugi uzroci poput veličine niza koja premašuje ograničenje VM-a itd.
Popis iznimaka u Javi
Dolje je dan popis glavnih iznimaka koji se javljaju na Javi. Dali smo primjere programiranja za neke od ovih iznimaka. Imajte na umu da su to ugrađene iznimke koje podržava Java.
# 1) ArithmeticException: Aritmetičke abnormalnosti poput dijeljenja s nulom rezultiraju ArithmeticException.
Program u nastavku pokazuje pojavu 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'); } } }
Izlaz
# 2) ArrayIndexOutOfBoundsException: ArrayIndexOutOfBoundsException se baca kada se elementu niza pristupa pomoću ilegalnog indeksa. Korišteni indeks premašuje veličinu polja ili je negativan.
# 3) ClassNotFoundException: Ako definicija klase nije pronađena, tada se podiže ClassNotFoundException.
# 4) FileNotFoundException: FileNotFoundException daje se kada datoteka ne postoji ili se ne otvori.
# 5) IOException: IOException se baca kad operacija ulaz-izlaz ne uspije ili se prekine.
# 6) InterruptedException: Kad god nit radi obradu ili spava ili čeka, tada se prekida bacanjem InterruptedException.
# 7) NoSuchFieldException: Ako klasa ne sadrži određeno polje ili varijablu, ona baca NoSuchFieldException.
# 8) NoSuchMethodException: Kada metoda kojoj se pristupa nije pronađena, tada se podiže NoSuchMethodException.
# 9) NullPointerException: NullPointerException se pokreće kada se uputi nulti objekt. Ovo je najvažnija i najčešća iznimka u Javi.
# 10) NumberFormatException: Ova se iznimka postavlja kada metoda nije mogla pretvoriti niz u numerički format.
# 11) RuntimeException: Svaka iznimka koja se dogodi tijekom izvođenja je RuntimeException.
# 12) StringIndexOutOfBoundsException: StringIndexOutOfBoundsException izbacuje klasa String i označava da indeks prelazi veličinu objekta String ili je negativan.
# 13) EOFException: EOFException je dio paketa java.io i baca se kad se dosegne kraj datoteke i datoteka se čita.
# 14) IlegalArgumentException: IllegalArgumentException se baca kada se metodi proslijede ilegalni ili nevaljani argumenti. Na primjer, pogrešan format podataka, null vrijednost kada se traži non-null ili argumenti izvan raspona.
Sljedeći Java program prikazuje IllegalArgumentException.
public class Main { int m; public static void setMarks(int marks) public static void main(String() args) { setMarks(45); setMarks(101); } }
Izlaz
U gore navedenom programu, IllegalArgumentException se baca u drugom pozivu funkcije setMarks gdje unosimo oznake koje su izvan dosega (> 45).
# 15) InputMismatchException: InputMismatchException se baca kada se očitanje ulaza ne podudara s navedenim uzorkom. Na primjer, ako program očekuje cijeli broj i čita float, tada se podiže InputMismatchException.
# 16) NoSuchElementException: NoSuchElementException se baca kada sljedeći element kojem se pristupa ne postoji.
Na primjer, u Enumeration, metoda nextElement () koristi se za pristup sljedećem elementu u nabrajanju. Ako element ne postoji, tada se baca NoSuchElementException. Uglavnom Java kolekcije donose ovu iznimku.
To pokazuje dolje navedeni program.
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(); } }
Izlaz
# 17) ConcurrentModificationException: ConcurrentModificationException obično izbacuju klase Collection. Ova se iznimka izbacuje kada objekti istodobno pokušavaju izmijeniti resurs.
Na primjer, nit ne može mijenjati zbirku kad joj druga nit pristupa. Ako dopustimo dvije niti, tada će te dvije istovremeno pristupati zbirci i bit će nedosljednosti.
Sljedeći primjer pokazuje 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); } } }
Izlaz
U gornjem programu, dok se ispisuje ArrayList, istovremeno pokušavamo izbrisati element. Ovo je istodobni pristup i time je izuzeta.
Prilagođene iznimke u Javi
Do sada smo razgovarali o svim iznimkama koje su ugrađene ili omogućene u jeziku Java. Osim ovih iznimki, možemo definirati i vlastite iznimke. Oni se nazivaju Prilagođene iznimke ili korisnički definirane iznimke.
Koristeći prilagođene iznimke, možemo definirati svoje iznimke prema našim potrebama.
Sljedeći primjer prikazuje prilagođenu iznimku koju smo definirali za cijelu vrijednost.
//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'); } }
Izlaz
Često postavljana pitanja
P # 1) Što podrazumijevate pod iznimkom?
zadani pristupnik nije dostupan Windows 10 se stalno događa
Odgovor: Događaj koji se dogodi tijekom izvođenja programa i remeti normalan tijek izvršavanja programa naziva se Iznimka. Iznimka je neželjena i neočekivana i može se dogoditi zbog vanjskih čimbenika ili programskih pogrešaka.
P # 2) Koja je razlika između pogreške i iznimke?
Odgovor: Iznimka su događaji koji remete normalan tijek programa. Možemo se nositi s iznimkama u našem programu i normalno nastaviti s programom. Pogreška je nenadoknadiv događaj koji se ne može obraditi i prekida program.
P # 3) Što podrazumijevate pod rukovanjem iznimkama?
Odgovor: Proces specificiranja slijeda koraka u programu za obradu iznimke naziva se Obrada iznimki. Pružanjem rukovatelja iznimkama u programu, možemo osigurati normalan tijek programa.
P # 4) Koje su prednosti rukovanja iznimkama u Javi?
Odgovor: Korištenjem rukovanja iznimkama možemo održavati normalan tijek izvršavanja aplikacije. Također možemo proširiti pogreške na niz poziva kada pružamo rukovatelje iznimkama.
5. pitanje) Kakva je korist od rukovanja iznimkama?
Odgovor: Ne prekidanje normalnog tijeka izvršavanja aplikacije glavna je upotreba rukovatelja iznimkama u programu. Bez rukovatelja iznimkama, program će se završiti i normalni tijek izvršenja će se prekinuti kada se dogodi iznimka.
Uz iznimku s kojom se pravilno rukuje u programu, može nastaviti s normalnim izvršavanjem čak i kad se dogodi iznimka.
Više primjera o iznimkama
Iznimka je događaj koji se događa dok je program pokrenut i ometa njegovo izvršavanje. Zbog čega će softverski proizvod naglo završiti.
Kada se dogodi ova iznimka, Java stvara objekt s porukom pogreške i informacijama o klasi. Ovo je objekt iznimke.
Zašto nam treba iznimka u Javi?
Razred ExcepDemo bez iznimke:
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'); } }
IZLAZ:
Razred ExcepDemo s rukovanjem iznimkama:
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'); } }
IZLAZ:
Pokušajte, uhvatite i konačno blokirajte:
- Izuzetak rješava blok try, catch.
- Izjave koje mogu dovesti do izuzetaka napisane su unutar bloka try.
- Kada se dogodi iznimka, izvršit će se izrazi unutar bloka catch. Ako se ne dogodi iznimka, blok catch se neće izvršiti.
- Bez obzira na to što se iznimka dogodila ili se nije dogodila, izvršit će se završni blok.
Vrste izuzetaka
Neoznačena iznimka:
Kako se neprovjerene iznimke mogu izbjeći pravilnim programiranjem ( Npr. null pointer Exception, Arithmetic Exception) prevoditelj neće provjeriti. Neoznačena iznimka bit će bačena za vrijeme izvođenja.
Označena iznimka:
- Provjereni izuzetak provjerit će kompajler i obvezno baciti ili obraditi iznimku.
- Ova se iznimka koristi za odvajanje koda za obradu pogrešaka od redovnog koda.
- Sve provjerene iznimke su grupirane i korisno je razlikovati probleme.
Primjer: 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(); } } }
Pogreške
Do pogreške može doći zbog programskih logičkih pogrešaka ili bilo koje memorije povezane s JVM problemom.
Primjer: Pogreška memorije izvan veze ili pogreška preljeva steka.
Bacati i Bacati
Ključna riječ 'Baci' koristi se za bacanje iznimke, dok se ključna riječ 'Baca' koristi za deklariranje iznimke.
Primjer programa bacanja:
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(''); } }
Primjer programa bacanja:
Bacanja se koriste za davanje informacija da ova metoda baca upravo tu iznimku. Kada pozovete tu određenu metodu, trebate obraditi tu iznimku.
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 koje treba napomenuti:
- Iznimke su abnormalni događaji koji su se dogodili tijekom izvođenja programa i to će utjecati na tijek izvršavanja.
- Pogreška se razlikuje od iznimki. Primjer pogrešaka: Memorija iz pogreške.
- Provjerene iznimke provjeravaju se tijekom sastavljanja i obvezno je riješiti ovu provjerenu iznimku.
- Neprovjerena iznimka događa se tijekom izvođenja.
Zaključak
Ovaj je vodič o rukovanju iznimkama na Javi predstavio definiciju iznimki, rukovanje iznimkama i hijerarhiju iznimki u Javi. Također smo razgovarali o klasi iznimke u Javi koja pruža razne konstruktore i metode za pristup iznimkama.
Istražili smo popis uobičajenih iznimaka koji se javljaju na Javi i vidjeli primjere programiranja za glavnu iznimku. Također smo razgovarali o glavnim pogreškama koje se javljaju u programu Java zajedno s vrstama iznimki i prilagođenim iznimkama.
=> Ovdje provjerite SVE Java tutorijale.
Preporučena literatura
- 10 glavnih izuzetaka selena i način postupanja s njima (točan kod)
- Rukovanje iznimkama JDBC - Kako postupati s SQL iznimkama
- Kako postupati s iznimkom u Groapy skriptama SoapUI - Vodič za SoapUI br. 11
- Java string sa String Buffer-om i String Builder Tutorial
- Implementacija Jave: Izrada i izvršavanje Java JAR datoteke
- Java niti s metodama i životnim ciklusom
- Java virtualni stroj: kako JVM pomaže u pokretanju Java aplikacije
- Pristupiti modifikatorima u Javi - Vodič s primjerima