Podcast
Questions and Answers
Šta se događa kada se dogodi iznimka u programu?
Šta se događa kada se dogodi iznimka u programu?
Koje je glavno značenje finally bloka?
Koje je glavno značenje finally bloka?
Što je AutoCloseable sučelje?
Što je AutoCloseable sučelje?
Koje je stanje niti kada čeka na drugu nit da završi sa izvođenjem?
Koje je stanje niti kada čeka na drugu nit da završi sa izvođenjem?
Signup and view all the answers
Šta se događa kada nit izvrši zadatak ili nastane greška?
Šta se događa kada nit izvrši zadatak ili nastane greška?
Signup and view all the answers
Koje je glavno značenje try-with-resource bloka?
Koje je glavno značenje try-with-resource bloka?
Signup and view all the answers
Koje je glavno značenje iznimke?
Koje je glavno značenje iznimke?
Signup and view all the answers
Koje je glavno značenje razlike između implementacije niti korištenjem Thread klase i Runnable sučelja?
Koje je glavno značenje razlike između implementacije niti korištenjem Thread klase i Runnable sučelja?
Signup and view all the answers
Koja je svrha implementacije Runnable sučelja?
Koja je svrha implementacije Runnable sučelja?
Signup and view all the answers
Koji je metod klase Thread koji čeka da se nit završi izvršavanje?
Koji je metod klase Thread koji čeka da se nit završi izvršavanje?
Signup and view all the answers
Šta se postiže sinhronizacijom niti?
Šta se postiže sinhronizacijom niti?
Signup and view all the answers
Koji je layout manager u Java Swingu?
Koji je layout manager u Java Swingu?
Signup and view all the answers
Koliko se segmenta programa kod-a potrebuju za obradu događaja u grafčkom sučelju?
Koliko se segmenta programa kod-a potrebuju za obradu događaja u grafčkom sučelju?
Signup and view all the answers
Šta je anonimna klasa u Javi?
Šta je anonimna klasa u Javi?
Signup and view all the answers
Koji je ograničenje anonimne klase?
Koji je ograničenje anonimne klase?
Signup and view all the answers
Koji je spremnik najviše razine u Java Swingu?
Koji je spremnik najviše razine u Java Swingu?
Signup and view all the answers
Šta znači akronim WORA?
Šta znači akronim WORA?
Signup and view all the answers
Šta je JRE?
Šta je JRE?
Signup and view all the answers
Koji je glavni razliku između strukturnog i objektno orijentiranog programiranja?
Koji je glavni razliku između strukturnog i objektno orijentiranog programiranja?
Signup and view all the answers
Koja je svrha JDK-a?
Koja je svrha JDK-a?
Signup and view all the answers
Koji je tip komentara koji prevodioc ignorira sve što je između //?
Koji je tip komentara koji prevodioc ignorira sve što je između //?
Signup and view all the answers
Koja je razlika između primitivnih i referentnih tipova?
Koja je razlika između primitivnih i referentnih tipova?
Signup and view all the answers
Šta se događa u slučaju automatske konverzije tipova podataka?
Šta se događa u slučaju automatske konverzije tipova podataka?
Signup and view all the answers
Šta je eksplicitna konverzija tipova podataka?
Šta je eksplicitna konverzija tipova podataka?
Signup and view all the answers
Study Notes
Niti i Sinkronizacija
- Runnable sučelje definira metodu
run()
koju treba implementirati kod koji želimo izvršiti u niti - Klasa
Thread
sama po sebi implementiraRunnable
sučelje
Metode klase Thread
-
start()
- pokreće nit -
sleep()
- pauzira nit na određeno vreme -
join()
- čeka da se nit završi sa izvršavanjem
Sinkronizacija
- U situacijama kada više niti dijeli isti objekt, treba se posebno posvetiti načinu na koji se obrađuju podaci
- Problem se rješava dodjelom ekskluzivnog prava pristupa samo jednoj niti u isto vrijeme
Sučelja
- Tri načina izrade sučelja: implementacija sučelja, nasljeđivanje klase, anonimna klasa
- Hijerarhija spremnika za izradu sučelja:
-
JFrame
- spremnik najviše razine, definira osnovni prozor aplikacije -
JPanel
- spremnik srednje razine, čija je jedina uloga pojednostavljenje pozicioniranja elementarnih komponenti
-
Layout Manager
- Omogućava dinamičko pozicioniranje komponenti na osnovu određenih pravila ili prilagođavanje veličine komponenti u skladu sa promenama veličine kontejnera
- Primjeri koristeći minimalno tri različita layout manager-a
Obrada Događaja
- Tri segmenta programskog koda potrebna za obradu događaja u grafičkom sučelju:
- Detektovanje događaja
- Procesiranje događaja
- Odgovor na događaj
- Tri vrste događaja:
- Događaj koji se događa kada se klikne na dugme
- Događaj koji se događa kada se promeni tekst u polju za unos
- Događaj koji se događa kada se izaberu element u liste
Anonimne Klase
- Anonimna klasa je klasa koja se definiše i istovremeno instancira bez eksplicitnog davanja imena klase
- Koriste se kada je potrebno definisati implementaciju interfejsa ili nasljeđivanje neke klase, ali nije potrebno eksplicitno definisati posebnu klasu za to
Exception Handling
- Error klasa i njezine podklase predstavljaju iznimke koje se mogu ispraviti u programu
- Exception klasa ili njezine podklase predstavljaju iznimke čiji se uzorci mogu otkloniti u programu
- Finally blok se koristi za oslobađanje resursa nakon hvatanja iznimke
AutoCloseable Sučelje
- Alternativa za finally blok
- Omogućava zauzimanje jednog ili više resursa koji će se koristiti unutar try bloka te se nakon izvršavanja automatski zatvoriti
Stanja Niti
-
New
- nova nit započinje životni vijek -
Runnable
- stanje nakon pokretanja niti -
Waiting
- stanje u kojoj nit čeka neku drugu nit da završi sa izvođenjem -
Timed waiting
- nit iz runnable stanja može prijeći u timed waiting stanje na određeni interval vremena -
Blocked
- nit iz stanja runnable prelazi u stanje blocked kada pokušava izvršiti zadatak koji se ne može izvršiti odmah -
Terminated
- nit prelazi u terminated stanje nakon što uspješno izvrši zadatak ili u slučaju nastanka greške
Razlike između implementacije niti korištenjem Thread klase i Runnable sučelja
- Implementacija niti korištenjem Thread klase:
- Nit se izvršava istovremeno sa glavnim programom
- Nit se koristi za izvršavanje dugotrajnih zadataka
- Implementacija niti korištenjem Runnable sučelja:
- Nit se izvršava u zasebnoj niti
- Nit se koristi za izvršavanje kratkotrajnih zadataka
Pitanja i Odgovori
- Pojam WORA (Write Once, Run Anywhere) znači da programer može razviti program u jednom sustavu i očekivati da radi na bilo koljem drugom sustavu koji ima Javu
- Razlike između JRE i JDK:
- JRE - (Java Virtual Environment) predstavlja podskup Java platforme koji korisnicima nudi mogučnost pokretanja prevedenih programa
- JDK - (Software Development Kit) predstavlja nadskup opisane platforme koji u sebi uključuje JRE i donosi još implementaciju prevodioca i drugih pomoćnih alata
- Razlike između strukturnog i objektno orijentiranog programiranja:
- Strukturno programiranje:
- Programi se dijele u manje programe ili funkcije
- Imamo strogu hijerarhijsku strukturu
- Odvajamo definicije od podataka
- Objektno orijentirano programiranje:
- Koriste se objekti koji sadrže podatke u obliku atributa i kod u obliku procedura koje zovemo metode
- Koriste se klase koje opisuju grupe objekata sa sličnim svojstvima
- Strukturno programiranje:
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Ovaj kviz pokriva osnove rada sa nitima u Java-u, uključujući implementaciju metode run(), korištenje metoda start(), sleep() i join() kao i sinkronizaciju niti.