Muszę przetestować niektóre skrypty monitorowania JMX, które opracowałem. W szczególności chciałbym sprawdzić, czy moje monitorowanie regionu PermGen działa. Aby przetestować to, chciałbym móc uruchomić trochę kodu, który ładuje znaczną liczbę klas w celu konsumowania PermGen.Programowe wypełnienie obszaru pamięci stałej Perm (PermGen) JVM
Mój obecny plan jest napisać skrypt do generowania prefix(1..n).java
skompilować je, a następnie na komendę RUN:
for(int i=1 ; i < n ; i ++){
Class.forName("com.mypackage.prefix"+i);
}
Czy istnieje bardziej eleganckie rozwiązanie do osiągnięcia tego celu?
myślę, że jeśli wystąpienie nowego ClassLoader i załadować tę samą klasę w kółko, że osiągnie swój cel bez konieczności tworzenia ton różnych klas. Alternatywnie, myślę, że String.intern() może również wypełnić swoją przestrzeń PermGen –
@Guillaume: to odpowiedź, a nie komentarz! –
@Tom, tak i nie, ponieważ nie jestem tego pewien, więc jest to bardziej sugestia. Nie chcę tego potwierdzać. ;-) –