Heap, Stack i String Pool w Javie

heap stack kopiec stos string pool java dev foundry blog programowanie java spring kursy

System zarządzania pamięcią w Javie opiera się na dwóch konceptach: Stacku czyli Stosie oraz Heap, a więc Kopcu. Przyjrzyjmy się tym dwóm strukturom danych nieco bliżej. Stack i wątki W ramach działania aplikacji Javowej, począwszy od metody main, na Stacku (Stosie) pojawiają się jedna na drugiej ramki zawierające zmienne metod. Przestrzegają przy tym zasady LIFO (Last In, First Out). Gdy dana dana metoda zakończy swoje działanie, to jest automatycznie wypychana ze Stacka. Każdy wątek ma swój Thread Stack, na którym przechowywane …

Czytaj dalej…Heap, Stack i String Pool w Javie

Słowo kluczowe Static w Javie

static java statyczne metody pola dev foundry blog programowanie java spring kursy

Pola oraz metody typu static należą do klasy, a nie do jej danej instancji, czyli obiektu. Dane z nich zapisywane są do specjalnego miejsca w pamięci, a dokładnie do Permanent Generation (od Javy 8 jest to tzw. Metaspace) poprzez Class Loadera, który… wczytuje daną klasę. Dlatego też pierwszy kod, który wykonuje się w Javie pochodzi z bloków static. Najpierw klasa wczytywana jest do Class Loadera, a dopiero później jakiekolwiek obiekty tej klasy mogą zostać utworzone. I dopiero wtedy wykonywany jest …

Czytaj dalej…Słowo kluczowe Static w Javie

Wzorzec projektowy Fasada

wzorzec projektowy fasada facade design patterns dev foundry blog programowanie java spring kursy

Fasada jest jednym ze wzorców strukturalnych. Na pierwszy rzut oka może wydawać się podobna do wzorca Adapter, jednak różni je przeznaczenie. Celem wzorca Adapter jest modyfikacja danego interfejsu tak, aby dostosować go do potrzeb klienta. Natomiast celem Fasady jest zapewnienie klientowi uproszczonego interfejsu dla danego systemu lub jego podsystemów. Najczęstszym zadaniem Fasady jest zatem izolacja klienta od podsystemu, czyli wewnętrznych metod oraz logiki biznesowej. Jeśli więc klient ma nie mieć bezpośredniego dostępu do systemu lub podsystemów ze względu bezpieczeństwa, to …

Czytaj dalej…Wzorzec projektowy Fasada

Modyfikatory dostępu w języku Java

Jednym z częstych pytań dla osób starających się o pozycję junior java developera jest pytanie o modyfikatory dostępu, jakie są dostępne w języku Java oraz jak zachowuję się domyślny z nich.

W języku Java istnieją cztery modyfikatory dostępu (zwane również modyfikatorami widoczności). Każdy z nich określa czy dana klasa, metodą bądź pole klasy jest widoczne dla innych klas. W języku Java istnieją cztery poziomy, zaczynając od najszerszego są to – public, protected, default (package), private. Trzeba pamiętać, że choć modyfikatory dostępu są cztery to słów kluczowych je określających jest już tylko trzy – private, public i protected. Poziom package jest poziomem domyślnym i jeśli chcemy go użyć to po prostu nie dodajemy żadnego modyfikatora dostępu przed nazwą pola czy metody.

W filmie poniżej znajdziesz opis na praktycznym przykładzie, zapraszam do obejrzenia.

Czytaj dalej…Modyfikatory dostępu w języku Java


Podziel się tym wpisem:

Różnice pomiędzy final, finally, a finalize

Jednym z pytań pojawiających się podczas rozmowy kwalifikacyjnej na pozycje młodszego programisty jest to, o różnice pomiędzy działaniami słów kluczowych final i finally oraz metody finalize. Funkcjonalności te, wbrew pozorom, poza zbliżonymi nazwami nie mają ze sobą nic wspólnego.

Czytaj dalej…Różnice pomiędzy final, finally, a finalize


Podziel się tym wpisem: