Analizirajte razlike u performansu i potrošnji memorije između korišćenja int[] i Integer[] u Javi, posebno u kontekstu datog fragmenta koda: ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = new Integer(x[i]); } } ```
Java
Znaš li kako da isključiš GC u Java aplikaciji?
Šta je amortizovana složenost?
Napišite JUnit testove za RecommenderServiceImpl koji pokrivaju osnovnu funkcionalnost
Šta je uslov trke? Kako se boriti sa tim? Daj primer i navedi načine borbe u Javi.
Ispričaj o optimizaciji GC iz svog stvarnog iskustva — jesu li bile pauze od desetaka sekundi i kako si ih optimizirao?
/** * Pretraživanje dva broja u nizu čija suma je jednaka zadatom broju * <p> * Napišite funkciju koja prihvata niz pozitivnih * nenarušenih brojeva kao prvi argument * i pozitivan broj kao drugi argument. * Funkcija treba da vrati true ako u nizu * postoje 2 broja čija suma daje drugi argument. * <p> * Ulaz: ([10, 15, 3, 7], 17) * Izlaz: true */
Ispričaj mi detaljnije kako se određuje dostupnost objekta u GC.
Koja je razlika između anomalija prljavog čitanja (dirty read) i neponovljivog čitanja (non-repeatable read)?
Šta je srednja algoritamska složenost? Možeš li to objasniti i navesti primere algoritama sa različitim složenostima?
Kako popraviti kršenje principa inverzije zavisnosti — predložite refaktorisanje sa odvojenim skladištem?
Šta će se desiti ako u jednoj klasi više polja označimo modifikatorom volatile?
Koje načine poznajete za rešavanje kolizija u hash tabelama?
Navedite primer kršenja svojstva konzistentnosti (согласованости) transakcija.
Navedite dve ključne reči Jave koje se koriste u kontekstu višestrukog procesiranja i objasnite zašto je volatile potreban.