Java Niti i Sinkronizacija
24 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Šta se događa kada se dogodi iznimka u programu?

  • Program će se zatvoriti
  • Program će se prekinuti (correct)
  • Iznimka će se izbaciti iz programa
  • Program se nastavi izvršavati normalno
  • Koje je glavno značenje finally bloka?

  • Oslobađanje resursa (correct)
  • Ponovno pokretanje programa
  • Hvatanje iznimaka
  • Izvršavanje koda nakon iznimke
  • Što je AutoCloseable sučelje?

  • Sučelje za oslobađanje resursa (correct)
  • Sučelje za rad sa datotekama
  • Sučelje za hvatanje iznimaka
  • Sučelje za kreiranje niti
  • Koje je stanje niti kada čeka na drugu nit da završi sa izvođenjem?

    <p>Waiting</p> Signup and view all the answers

    Šta se događa kada nit izvrši zadatak ili nastane greška?

    <p>Nit prelazi u stanje Terminated</p> Signup and view all the answers

    Koje je glavno značenje try-with-resource bloka?

    <p>Oslobađanje resursa</p> Signup and view all the answers

    Koje je glavno značenje iznimke?

    <p>Sve navedeno</p> Signup and view all the answers

    Koje je glavno značenje razlike između implementacije niti korištenjem Thread klase i Runnable sučelja?

    <p>Način implementacije niti</p> Signup and view all the answers

    Koja je svrha implementacije Runnable sučelja?

    <p>Da se definiše metodu run() u koju se treba implementirati kod koji želimo da nit izvrši</p> Signup and view all the answers

    Koji je metod klase Thread koji čeka da se nit završi izvršavanje?

    <p>join()</p> Signup and view all the answers

    Šta se postiže sinhronizacijom niti?

    <p>Ekskluzivno pravo pristupa objektu</p> Signup and view all the answers

    Koji je layout manager u Java Swingu?

    <p>Odgovoran za raspored komponenti unutar kontejnera</p> Signup and view all the answers

    Koliko se segmenta programa kod-a potrebuju za obradu događaja u grafčkom sučelju?

    <p>3</p> Signup and view all the answers

    Šta je anonimna klasa u Javi?

    <p>Klasa koja se definiše i instancira bez eksplicitnog imena klase</p> Signup and view all the answers

    Koji je ograničenje anonimne klase?

    <p>Nije moguće eksplicitno definisati imena klase</p> Signup and view all the answers

    Koji je spremnik najviše razine u Java Swingu?

    <p>JFrame</p> Signup and view all the answers

    Šta znači akronim WORA?

    <p>Write Once, Run Anywhere</p> Signup and view all the answers

    Šta je JRE?

    <p>Java Runtime Environment</p> Signup and view all the answers

    Koji je glavni razliku između strukturnog i objektno orijentiranog programiranja?

    <p>Strukturno programiranje koristi funkcije, a objektno orijentirano koristi klase</p> Signup and view all the answers

    Koja je svrha JDK-a?

    <p>Razvoj programa i donošenje implementacije prevodioca i drugih pomoćnih alata</p> Signup and view all the answers

    Koji je tip komentara koji prevodioc ignorira sve što je između //?

    <p>single line</p> Signup and view all the answers

    Koja je razlika između primitivnih i referentnih tipova?

    <p>Primitivni tipovi su tipovi koji se koriste za čuvanje cjelobrojnih vrijednosti, a referentni tipovi su tipovi koji se koriste za čuvanje objekata</p> Signup and view all the answers

    Šta se događa u slučaju automatske konverzije tipova podataka?

    <p>Tipovi se mijenjaju automatski</p> Signup and view all the answers

    Šta je eksplicitna konverzija tipova podataka?

    <p>Konverzija tipova podataka između kojih se ne radi automatski</p> 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 implementira Runnable 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

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    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.

    More Like This

    Java Thread Instantiation and Usage
    18 questions
    Java Application Programming Unit 4 Quiz
    18 questions
    Java Thread Methods
    30 questions
    Java Threads - Définition et lancement
    10 questions
    Use Quizgecko on...
    Browser
    Browser