06.03.2015 Views

Java Kitabı

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.2.8. Heap bölgesi Boyutları Nasıl Denetlenir?<br />

Heap bölgesine minimum veya maksimum değerleri vermek için -Xms veya -Xmx parametreleri<br />

kullanılır. Performansı arttırmak amacı ile geniĢ kapsamlı sunucu (server-side) uygulamalarında minimum<br />

ve maksimum değerler birbirlerine eĢitlenerek sabit boyutlu heap bölgesi elde edilir. ()<br />

JVM herhangi bir çöp toplama yöntemini çağırdıktan sonra heap bölgesini, boĢ alanlar ile yaĢayan nesneler<br />

arasındaki farkı ayarlamak için büyütür veya azaltır. Bu oranı yüzdesel olarak minimum veya maksimum<br />

değerler atamak istenirse -Xminf veya ()<br />

-Xmaxf parametreleri kullanılır. Bu değer (SPARC Platform versiyonu) için hali hazırda minimum %40,<br />

maksimum %70‘dır. ()<br />

Gösterim-3.6:<br />

java -Xms32mb Temizle<br />

Gösterim-3.7:<br />

java -Xminf%30 Temizle<br />

Heap bölgesi JVM tarafından büyütülüp küçültüldükçe, eski nesil ve yeni nesil alanları da NewRatio<br />

parametresine göre yeniden hesaplanır. NewRatio parametresi eski nesil alan ile yeni nesil alan arasındaki<br />

oranı belirlemeye yarar. Örneğin -X:NewRatio=3 parametresinin anlamı eskinin yeniye oranının 3:1<br />

olması anlamına gelir; yani, eski nesil alanı heap bölgesinin 3/4‗inde, yeni nesil ise 1/3‗inde<br />

yer kaplayacaktır. Bu Ģartlarda kopyalama yönteminin daha sık çalıĢması beklenir. Eğer ki eski nesil<br />

alanını daha küçük yaparsak o zaman iĢaretle ve süpür yöntemi daha sık çalıĢacaktır. Daha evvelden<br />

belirtildiği gibi iĢaretle ve süpür yöntemi , kopyalama yöntemine göre daha yavaĢ çalıĢmaktadır. ()<br />

Gösterim-3.8:<br />

java -XX:NewRatio=8 Temizle<br />

NewSize ve MaxNewSize parametreleri, yeni nesil alanının minimum ve maksimum değerlerini<br />

belirmek için kullanılır. Eğer bu parametreler birbirlerine eĢitlenirse, sabit uzunlukta yeni nesil alanı elde<br />

edilmiĢ olur. AĢağıdaki gösterimde yeni nesil alanlarının 32MB olacağı belirtilmiĢtir. ()<br />

Gösterim-3.9:<br />

java -XX:MaxNewSize=32m Temizle<br />

3.2.9. Kopyalama yönteminin gösterimi<br />

AĢağıda, ġekil 3-4‘de yaĢayan nesneler koyu renk ile gösterilmiĢlerdir:<br />

69

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!