Dotychczas w Javie Stringi, czyli łańcuchy znaków były reprezentowane właśnie w ten konkretny sposób: jako dosłownie łańcuch znaków, a raczej tablica, char[]. Każdy char ma alokowane 16 bitów pamięci, dla reprezentowania palety znaków UTF16. W najpopularniej wykorzystywanym języku łacińskim o kodowaniu UTF8 chary nie były wykorzystywane w pełni, ponieważ każdy znak alokowane miał 16 bitów, a wypełniał 8. A co, gdyby udało się pozbyć tej pustej przestrzeni i wykorzystać wszystkie bajty przeznaczone na dany napis?
Miesiąc: listopad 2023
Java 9 – Garbage Collector G1GC
Java ma bardzo przyjemny mechanizm – Garbage Collector. Jest to dodatkowy program uruchamiany przez wirtualną maszynę po to, aby czyścić pamięć ze starych, nieużywanych obiektów. Gdyby nie on, kolejne tworzone obiekty lądowałyby na stercie tak długo, aż aplikacja zajęłaby całą pamięć, co uniemożliwiłoby jej pracę. Dzięki GC nie musimy się specjalnie zamartwiać alokacją i zwalnianiem pamięci. Od Javy 9 standardem jest Garbage Collector zwany G1GC (Garbage First GC), który wprowadzony był już wcześniej, jednak jeszcze wtedy nie był domyślnym czyścicielem w JDK. Na czym polega? Jak działa? Czytaj dalej „Java 9 – Garbage Collector G1GC”