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

Testy jednostkowe – Mocki

stuby mocki testy jednostkowe junit mockito dev foundry blog programowanie java spring kursy

Mocki to obiekty, które imitują zachowanie prawdziwych obiektów i prawdziwego kodu. Zadaniem programisty jest zaprogramowanie odpowiedniego działania mocka. Ten wpis jest drugą częścią miniserii o stubach oraz mockach. Poznamy w nim zalety mocków, a także ich ogólną charakterystykę i zastosowanie. Pod tym adresem znajdziesz część pierwszą, w której omawiane są stuby. Jak mocki, to Mockito Aby w ogóle móc skorzystać z obiektów mockowych, należy dodać do projektu zależność w postaci frameworka Mockito. Najlepiej ściągnąć najnowszą wersję, aktualnie jest to wersja 2.25. …

Czytaj dalej…Testy jednostkowe – Mocki

Testy jednostkowe – Stuby

stuby mocki testy jednostkowe junit dev foundry blog programowanie java spring kursy

Stuby są wykorzystywane w sytuacji, gdy w testowanej klasie występują pewne zależności. Działanie tych zależności należy obsłużyć, ale problem pojawia się, jeśli nie mamy do nich lub do ich metod bezpośredniego dostępu. Właśnie w tych scenariuszach mogą nam pomóc stuby lub mocki. Ten wpis jest pierwszą częścią miniserii o stubach oraz mockach. Poznamy w nim wady oraz zalety stubów, a także ich ogólną charakterystykę i zastosowanie. W kolejnej części – bliżej przyglądamy się mockom. Scenariusz testowy Naszą bazą kodową, którą …

Czytaj dalej…Testy jednostkowe – Stuby