Profilowanie aplikacji Stwierdziłem, że na stercie jest dużo napisów.Strojenie Java GC dla ciągów znaków
W mojej sytuacji ciągi są tworzone na stercie, a nie internowane i nie są literałami.
Czy istnieją określone techniki dostrajania GC do zastosowania, gdy liczba ciągów w aplikacji jest bardzo wysoka.
Natknąłem się na ustawienia GC -XX: + UseCompressedStrings lub -XX + UseStringCache, ale nie jestem pewien, czy to pomoże. Czy jakieś ciało wypróbowało te ustawienia?
wersja java "1.6.0_22"
Java (TM) SE Runtime Environment (build 1.6.0_22-B04)
Java HotSpot (TM) 64-bitowy serwer VM (build 17.1-B03, tryb mieszany)
Z mojego doświadczenia, nie zadzieraj z GC, zwykle robi to wystarczająco dobrze, ponieważ jest –
Najważniejsze jest to, czego nie robisz - nie, na przykład, wielokrotnie "przerywaj" ciąg znaków do następnego "token" i "reszta". Robi się to niesamowicie często i może przynieść aplikację na kolana. –