Jak działa JVM od środka: stos, sterta, Eden i JIT

Schemat działania JVM pokazujący pamięć Java, Stack, Heap, Eden, Survivor, Old Generation, Garbage Collector i JIT.

Jak działa program w Javie? Zanim przejdę do omawiania jak Java zarządza pamięcią, warto zrozumieć, co właściwie dzieje się od momentu napisania kodu Java do jego wykonania przez procesor. Kod napisany w Javie nie jest wykonywany bezpośrednio przez system operacyjny. Najpierw plik źródłowy z rozszerzeniem .java jest kompilowany przez kompilator javac do tzw. bytecode’u, czyli … Dowiedz się więcej

Spock Framework w Javie – testy jednostkowe i integracyjne krok po kroku

Spock Framework w Java – testy jednostkowe, testy parametryzowane, mocki i integracja ze Spring Boot

Czym jest Spock Framework? Czym jest Spock Framework? Spock Framework to alternatywna dla JUnit biblioteka służąca do tworzenia testów jednostkowych. Jest on szczególnie popularny w projektach opartych o języka Java. Zaskoczę Cię jednak, bo sam framework nie korzysta ze składni Java, lecz opiera się o inny język JVM – Groovy. Oznacza to, że kod Twojej … Dowiedz się więcej

Java 21 LTS – najważniejsze zmiany od Java 18 do Java 21

Najważniejsze zmiany w Java od wersji 18 do Java 21 LTS – przegląd nowych funkcji

Co nowego w Java 21 LTS? Java 21 to kolejna wersja Long-Term Support (LTS), która zastępuje Java 17 jako główne wydanie rekomendowane do zastosowań produkcyjnych. Oprócz poprawek wydajności i bezpieczeństwa wprowadza również szereg nowych funkcji, które upraszczają pisanie kodu i otwierają nowe możliwości przy projektowaniu aplikacji. W tym artykule omówię najważniejsze zmiany, które pojawiły się … Dowiedz się więcej

Java 17 LTS – najważniejsze zmiany od Java 13 do Java 17

Grafika przedstawiająca najważniejsze zmiany w Java 13–17, w tym Java 17 LTS, z ikoną filiżanki Java oraz osią czasu prezentującą kolejne wersje języka.

Dlaczego warto poznać zmiany w Java 17? Java 17 to jedna z najważniejszych wersji języka wydanych w ostatnich latach. Jest to wydanie Long-Term Support (LTS), które przez długi czas było domyślnym wyborem dla nowych projektów tworzonych w Javie. Wiele firm zdecydowało się na migrację bezpośrednio z Java 11 do Java 17, pomijając pośrednie wersje 12–16. … Dowiedz się więcej

Java 12: drobne zmiany

java 12

Nie zauważysz wiele istotnych zmian Java 12. Co prawda w kolejnym JDK zaprezentowano 'demo’ kilku ciekawych „featurów”, które wejdą następnych wersjach (np. zmiany w switch), jednak sama „dwunastka” nie posiada wielu nowych funkcjonalności, które zrewolucjonizują Twoje kodowanie.

Narzędzia programisty #4: Redis cache

Cache redis

Stosowanie tzw. cache’a jest jednym z najprostszych sposobów do osiągnięcia lepszej wydajności programu komputerowego. Redis jest jedną z wielu technologii tego typu. W poniższej notce pokażę Ci małą zajawkę jego możliwości. Czym jest cache? Częstym problemem, występującym w programowaniu jest wydajność Twojego produktu. To dość powszechne, że wszyscy chcemy korzystać z usług IT w coraz … Dowiedz się więcej

Popularne frameworki #1: Lombok

Project Lombok

Język Java często jest krytykowany za konieczność pisania kodu, który mógłby być automatycznie wygenerowany przez JDK. Ciągłe pisanie getterów i setterów do każdej klasy POJO, tworzenie toStringów, czy projektowanie builderów, choć początkującemu programiście daje wiele satysfakcji, to po pewnym czasie staje się bardzo nudne. W takiej sytuacji na pomoc przychodzi biblioteka Lombok, której celem jest … Dowiedz się więcej