Java pytanie rekrutacyjne: Czym jest lazy loading?

Lazy loading Lazy loading lub inaczej leniwa inicjalizacja jest wzorcem projektowym, który zapewnia, że inicjalizacja obiektu nastąpi jak najpóźniej jest to możliwe. W skrócie, obiekt jest inicjalizowany w momencie, gdy jest potrzebny, użytkownik chce go użyć. Takim momentem może być np. wczytanie dużej kolekcji danych lub wykonanie skomplikowanego algorytmu. Korzystanie z tego wzorca projektowego zapewnia zaoszczędzenie pamięci […]

Java pytanie rekrutacyjne: Porównywanie Stringów

Jaki będzie efekt działania poniższego kodu? public class Main { public static void main(String[] args) { String janusz = „Janusz”; String person = new String(janusz); String name = „Janusz” + „”; String januszUppercase = new String(„JANUSZ”); System.out.println(janusz == person); System.out.println(name == person); System.out.println(janusz == name); System.out.println(janusz.equals(name)); System.out.println(januszUppercase.equalsIgnoreCase(name)); System.out.println(januszUppercase == janusz); } } Po uruchomieniu takiego […]

Java pytanie rekrutacyjne: Static Initialization – statyczny inicjalizator w Javie

Czym jest Static Initialization? Static Initialization lub statyczny inicjalizator w Javie jest blokiem kodu rozpoczynającym się od słowa kluczowego static, który jest wywoływany po załadowaniu danej klasy. Owy blok kodu wywoła się dokładnie tylko jeden raz – w przypadku, gdy użyjemy danej klasy. Jego użycie jest bardzo proste, wystarczy stworzyć klamry ze słowem kluczowym static […]

Java pytanie rekrutacyjne: Jakie znasz kolekcje w Javie?

Jakie znasz kolekcje w Javie? Wymień ich charakterystyczne cechy Pakiet java.util oferuje wiele różnych kolekcji do wykorzystania przez programistę. Każda z kolekcji jest implementowana na różne sposoby, przez co programista musi wybrać, która implementacja będzie działać najszybciej w jego aktualnym problemie. My jednak się skupimy na samych kolekcjach, a nie na ich konkretnych implementacjach. List, […]

Java pytanie rekrutacyjne: Obiekt immutable

Czym jest obiekt immutable? Obiekt immutable jak sama nazwa wskazuje jest niezmienny czyli podczas swojego „życia” nie może zmienić swojego stanu. Oczywiście czasami jest możliwa zmiana stanu obiektu np. String: String s = „qwe”; s = „any”; Jednak wiąże się to za każdym razem z utworzeniem nowego obiektu. W skrócie oznacza to, że adres zmiennej s się […]

Java pytanie rekrutacyjne: Testy jednostkowe

Czym są testy jednostkowe? Testy jednostkowe polegają na napisaniu kodu źródłowego, który wykonuje inny kod (produkcyjny) weryfikując poprawność jego działania. Jak sama nazwa wskazuje testujemy jednostki – czyli małe części – a dokładniej mówiąc metody. Mówiąc ściślej – metody publiczne traktując je jak czarne skrzynki. Dajemy konkretne dane wejściowe i oczekujemy poprawnych danych wyjściowych – […]

Java pytanie rekrutacyjne: Wykonywanie bloku finally

Czym blok finally jest wykonywany w przypadku złapania wyjątku? W przypadku, gdy mamy blok try catch możemy dodać kolejny blok finally, który powinnien wykonywać się zawsze. Jednak czy na pewno jest to prawda? Co w przypadku, gdy złapiemy wyjątek lub zwrócimy wartość z metody już w bloku try? Przetestujmy to na prostych przykładach: package pl.rekrutacja.pytanie; […]