Na stronach Suna pojawiła się kolejna wersja platformy Java zawierająca kilka długo oczekiwanych ulepszeń oraz wiele poprawek błędów.
Nie byłoby w tym nic nadzwyczajnego, gdyby nie fakt, że do update 14 oprócz zwyczajnych poprawek weszły usprawnienia, znacznie poprawiające wydajność platformy:
- Alokacja obiektów na stosie za pomocą EscapeAnalysis (EA) – do niedawna EA umożliwiała jedynie usuwanie niepotrzebnych blokad, co przekładało się na większą wydajność aplikacji korzystających intensywnie z synchronizacji wątków. Obecnie dołożono do tego możliwość alokacji na stosie obiektów, do których referencje nie są przekazywane poza lokalny kontekst wywołania metody. Dzięki temu obiekty te mogą być usunięte natychmiast podczas zwijania stosu przy wychodzeniu z metody, co odciąża odśmiecacz, zmniejsza zużycie pamięci i poprawia efektywność wykorzystania cache procesora. Wszystko nie wymaga jakiejkolwiek ingerencji w kod źródłowy – wystarczy dodać przełącznik -XX:+DoEscapeAnalysis do argumentów wywołania JVM.
- Pakowanie referencji (wskaźników) na maszynach 64-bitowych dla aplikacji, które nie potrzebują większej przestrzeni adresowej niż 64 GB. Wskaźniki są reprezentowane wewnętrznie w postaci 32-bitowej, co może zaoszczędzić znaczne ilości pamięci i poprawić efektywność wykorzystania cache procesora.
- Nowy, eksperymentalny odśmiecacz G1 przeznaczony do aplikacji interaktywnych, mający na celu zminimalizowanie przestojów spowodowanych odśmiecaniem przy równoczesnym zachowaniu dużej przepustowości i niewielkiego narzutu pamięciowego. Istotą działania jest podział dostępnej pamięci na wiele małych fragmentów, które mogą być „sprzątane” niezależnie, przy czym fragmenty zawierające najwięcej „martwych” obiektów są przetwarzane w pierwszej kolejności.
Należy jednak pamiętać, że odśmiecacz ten jest jeszcze w fazie beta i nie zaleca się go do używania w systemach produkcyjnych, dlatego żeby go uruchomić należy oprócz opcji -XX:+UseG1GC dodać -XX:+UnlockExperimentalVMOptions.
Szczegółowa lista wprowadzonych zmian znajduje się tutaj: http://java.sun.com/javase/6/webnotes/6u14.html
Natomiast samo oprogramowanie można pobrać stąd: http://java.sun.com/javase/downloads/?intcmp=1281
Dodaj komentarz