JIT co to ?
Just in Time, kompilacja do kodu natywnego w trakcie wykonywania
JAR?
Archiwum do którego pakowana jest biblioteka
JavaBeans?
Komponenty, których można wielokrotnie używać o specjalnej charakterystyce
Bulk Operations?
Operacje na wielu elementach
Przykłady Bulk Operations.
ContainsAll, addAll, clear etc.
Podaj różne zasięgi zależności. Wyjaśnij
Compile, Provide, Runtime, Test.
Jak usuwać z kolekcji?
Usuwać należy jedynie za pośrednictwem interfejsu iteratora
Co zwraca equals a co compareTo?
Equals=boolean
ComparesTo=int
Po czym sortuje TreeMap?
Sortowanie Wd kluczy
Co implementuje priorytet queue?
Implementuje kopiec
Co implementuje LinkedList?
Listę dwukierunkową
Struktura wyrażenia lambda?
(Argumenty) -> {ciało}
Oba nawiasy opcjonalne dla pojedynczych wyrażeń, argumentów
Typ wyrażenia lambda?
Typ interfejsu funkcyjnego, który implementuje
Api stream przykład.
List.ForEach(System.out::println)
Operacje pośrednie a terminalne? Api Stream
Pośrednie - zwracają kolejny strumień, odroczone wykonanie
Terminalne - przetwarzają dane w chwili wywołania, powodują wykonanie wszystkich operacji pośrednich
Co robi parallelStream()?
Przetwarza równolegle strumienie, może korzystać z pooli wątków
Elementy wielowatkowości w Javie.
Thread + Runnable
Najbardziej niskopoziomowe API
Sekcje krytyczne (synchronized)
Kontrolują dostęp do współdzielonych obiektów
java.util.concurrent.*
ExecutorService – ułatwia zarządzanie pulą wątków roboczych
i zadaniami do wykonania
Implementacje typowych wzorców dla programowania
równoległego, np. blokady cykliczne, semafory, kolejki zadań
Fork/Join Framework
Dla problemów klasy dziel i rządź
Parallel Stream
Współbieżna obsługa strumieni
Podstawowe operacje na watkach?
thread.join(), thread.isAlive(), thread.interrupt()
Deklarowanie puli watkow?
o dynamicznym rozmiarze i stalym rozmiarze, tzw thread pool executor, wysylamy executor.submit()
Mozliwosci IPC?
potoki, strumienie, gniazda, pliki
Rodzaje strumieni?
Bajtowe i znakowe
Co robi buforowanie?
Poprawia wydajność komunikacji za pośrednictwem
strumieni wejścia/wyjścia
Jakie klasy można serializowac?
tylko serializable
Co umozliwa try-with?
automatyczne zamykanie strumieni, zasobów
Dwa rodzaje poloczen z uzyciem socketow?
TCP Połączeniowy Retransmisje Zachowana kolejność Potwierdzenia Wiarygodny, UDP Protocol Bezpołączeniowy Brak retransmisji Kolejność niezapewniona Brak potwierdzeń Niewiarygodny
Co to javaFX?
— platforma rozwijająca platformy klienckiej Java w celu umożliwienia łatwego
tworzenia i wdrażania aplikacji desktopowych, mobilnych oraz przeznaczonych na
urządzenia wbudowane.
Co to glass windowing toolkit?
jest warstwą zależną od platformy, która łączy platformę
JavaFX z natywnym systemem
Co to PRISM?
obsługuje proces renderowania zawartości okien, może działać zarówno
softwarowo jak i sprzętowo
Jakie sa 3 rodzaje watkow w JavaFX?
JavaFX application thread, Prism render thread, Media thread
Java FX ma swoje kolekcje podaj przykład.
ObservableList, ListChangeListene, ObservableMap, MapChangeListener,
Co to są klasyy encyjne?
klasy odwzorowywane na table przechowywane w bazie danych
zwykłe klasy POJO (Plain Old Java Object)
pola klasy nie mogą być publiczne
oznaczone za pomocą adnotacji
Nie wchodzące do głowy adntoacje to…
@column, @temporal, @transient, @GeneratedValue
Co robi entity manager?
Entity Manager - udostępnia podstawowe operacje zarządzania encjami
W jaki sposób pozyskiwany jest entity manager?
Przez fabrykę.
Czym jest JPQL?
SQL tylko javowy.
Restful webservice założenia.
-bezstanowe, interakcja powinna być odporna na restart serwera
-usługi buforowania serwera aplikacji oraz innych elementów mogą być
wykorzystane w celu usprawnienia wydajnośc
-mały narzut na dane, idealny dla urządzeń z ograniczonymi zasobami,
Spring-boot?
- mechanizm ułatwiający tworzenie aplikacji opartych na platformie Spring
ułatwia konfigurację projektu, zarządza wersjami, ułatwia budownaie wersji dystrybucyjnej
Logika biznesowa
- powinna znajdowac sie poza kontrolerem
- niezależna od protokolu http
Rozwin GWT
Given When Then
Jakie występują stany encji?
New
Managed
Detached
Removed
Czy wyrażenie lambda widzi zmienne zadeklarowane poza nim ?
Nieprawda
Co możemy wyróżnić w java Beans ?
Właściwości
Metody
Zdarzenia
Jaki musi być java Beans?
- Serializowany
- Posiadać bezargumentowy konstruktor
- gettery i setery
- brak publicznych pól
Co to właściwiści wiązane ?
To takie które wspierają informowanie o zmianach swojego stanu
Czy wyrażenie lambda widzi zmienne zadeklarowane poza nim ?
Nieprawda
Co możemy wyróżnić w java Beans ?
Właściwości
Metody
Zdarzenia
Jaki musi być java Beans?
- Serializowany
- Posiadać bezargumentowy konstruktor
- gettery i setery
- brak publicznych pól
Co to właściwiści wiązane ?
To takie które wspierają informowanie o zmianach swojego stanu
Jakie operacje udostępnia Entity Manager?
void persist(Object o) – zapis do bazy danych (new ⇨ managed), T merge(T entity) – detached ⇨ managed void remove(Object o) – usunięcie encji (managed ⇨ removed) void refresh(Object o) – aktualizuje stan obiektu encyjnego na podstawie bazy, T find(Class entityClass, Object key) – wyszukiwanie na podstawie klucza głównego, EntityTransaction getTransaction() – zwraca obiekt transakcji: większość frameworków umożliwia automatyczne zarządzanie transakcjami.
W jaki sposób dostarczane sa zależności?
- parametry konstruktora
- metoda set
- bezpośrednio do pól obiektu
Na czym opiera się JPQL?
Opiera się na zdefiniowanym w projekcie, modelu klas encyjnych.
Co to Spring Framework?
Framework pozwalajacy na stworzenie złożonych aplikacji webowych, klasy enterpris uruchamianych na javaie.
Przy pomocy jakiej klasy budowane jest ciało odpowiedzi w REST?
Przy pomocy ResponseEntity
Kiedy następuje wycofanie transakcji?
Jak wystąpi RunTimeException
Co na celu ma testowanie?
- weryfikacje oprogramowanie
- walidacje oprogramowania
Jakie sa poziomy testowania?
- Testy jednostkowe
- testy integracyjne
- testy systemowe
- testy akceptacyjne
Co robią testy jednostkowe?
- sprawdzaja poprawnosc dzialania pojednyczch elemntow apki
- wykonywane automatycznie
- przygotowanie testu polega na napisaniu kodu testujacego
- moga byc realizowane podczas budowania apki
- dokumnetuja oczekiwane zachowanie
Co testujemy?
- happy path (poprawne przebiegi)
- corner case (przypadki graniczne)
- unhappy path (przypadki wystąpienia błędów)
Kod tesujacy flow?
- testujemy nowymi klasami
- dane wejsciowe to atrapy
- wynik działania poddawany assercji
Rozwin AAA.
Arrange, Act, Assert
Co to TDD?
Zwinna metodyka wytwarzania oprogramowania polegająca na wielokrotnym powtarzaniu następujących kroków: -dodanie testu -uruchomienie wszystkich testów -przygotowanie kodu przechodzącego testu -uruchomienie wszystkich testow -poprawienie kodu -uruchomienie wszystkich testow
Co to mockowanie?
Podmienianie nietestowanego obiektu na przygotowaną atrapę służy testowaniu metod korzystających z nietestowanych elementów.
Co robi mockito.verify()?
Sprawdza czy nasze atrapy
zostały wywołane w poprawny sposób
Co to atrapy?
Specjalnie zbudowane obiekty realizujące zaimplementowane (przewidywalne)
zachowanie,
Co to właściwości komponentu?
charakterystyki obiektu do których ma dostęp programista
Jakie 3 własności opisują każdy projekt Maven?
groupID, artifactID, version
Jakie sa cykle życia budowania oprogramowania?
- deafult-budowanie projektu i publikacja artefaktow
- clean-czyszczenie
- site-generowanie stron HTML
Jakie sa fazy cykli zycia maven?
validate - sprawdzanie poprawności projektu,
2. compile - kompilacja kodu źródłowego,
3. test - wykonanie testów jednostkowych,
4. package - pakowanie skompilowanych klas i zasobów do archiwum (np.: jar),
5. verify - testy integracyjne,
6. install - instalacja w lokalnym repozytorium:
inne lokalne projekty mogą korzystać z zależności;
7. deploy - wgranie do zdalnego repozytorium
Jakie sa Scope’y zależności?
compile - wymagane w czasie kompilacji oraz w czasie działania aplikacji,
provided - jak wyżej, ale dostarczane przez środowisko wykonawcze, np. serwer
aplikacji,
runtime - wymagane w czasie działania aplikacji (ale nie w czasie kompilacji)`
test - wymagane w czasie uruchamiania testów jednostkowych,
import - import zależności z innego pliku pom.xml ,
system - niezalecane.
Rodzaje kolekcji(Interfejsy)?
Iterable - deklaruje możliwość iterowania po elementach, pobranie iteratora lub
wykorzystanie w pętlach for-each ,
Collection - najbardziej ogólny rodzaj kolekcji, brak ograniczeń typu
powtarzalność elementów lub kolejność,
Set - nie zawiera dwóch lub więcej takich samych elementów, brak zapewnienia
kolejności występowania elementów,
SortedSet - automatyczne sortowanie wstawianych elementów,
NavigableSet - możliwość pobierania elementów “większych”/”mniejszych” niż
wskazane,
List - sekwencja elementów, może zawierać takie same elementy,
Queue - kolejka FIFO,
Deque - kolejka FIFO, LIFO, lista dwukierunkowa.
Za pomocą czego domyślna implementacja porównuje obiekty?
==
Podaj sposoby wykonywania procesow.
- sekwencyjnie
- wspolbieznie - akcje wykonywane na zmiane
- rownolegle
Co robi wait i notify?
- wait-uspyia watek w oczekiwaniu na zasob
- notify-powiadamia watek ze zasob dostepny
Czy pola transient podlegaja serializacji?
NIE
Na co pozwala klasa InetAddress?
Pozwala na zapisanie adresu IP definiujacego urzadzenie sieciowe.