Geliştirdiğim bazı JMX izleme komut dosyalarını test etmeliyim, özellikle PermGen bölgesini izlememin çalıştığını doğrulamak istiyorum. Bunu test etmek için PermGen'i tüketmek için önemli sayıda ders yükleyen bir kod çalıştırmak istiyorum.JVM Kalıcı Nesil (PermGen) bellek bölgesini programlı olarak doldurun
Bulunduğum planı bir komut dosyası prefix(1..n).java
bunları derlemek üretmek için yazmaktır ve daha sonra işaret kaçak:
for(int i=1 ; i < n ; i ++){
Class.forName("com.mypackage.prefix"+i);
}
bunu başarmak için daha şık bir çözüm var mı?
Sana yeni ClassLoader örneğini ve tekrar tekrar aynı sınıfı yüklerseniz, farklı sınıfların ton oluşturmaya gerek kalmadan hedefinize ulaşmak olacağını düşünüyorum. Alternatif olarak, String.intern() 'in de PermGen alanınızı –
@Guillaume doldurabileceğini düşünüyorum: bu bir cevap değil, bir yorum! –
@ Tom, evet ve hayır çünkü bundan emin değilim, bu yüzden bu bir öneridir. Bu konuda olumlu görünmek istemiyorum. ;-) –