Necesito probar algunas secuencias de comandos de supervisión JMX que he desarrollado. En particular, me gustaría verificar que mi supervisión de la región PermGen esté funcionando. Entonces, para probar esto, me gustaría poder ejecutar un poco de código que cargue una cantidad significativa de clases para consumir PermGen.Rellenar programáticamente la región de memoria de generación permanente de JVM (PermGen)
Mi plan actual es escribir un script para generar prefix(1..n).java
compilarlas y luego en el momento justo de ejecución:
for(int i=1 ; i < n ; i ++){
Class.forName("com.mypackage.prefix"+i);
}
¿Hay una solución más elegante para lograr esto?
Creo que si se instancia un nuevo cargador de clases y cargar la misma clase y otra vez, que alcanzará su objetivo sin la necesidad de crear toneladas de diferentes clases. Alternativamente, creo que String.intern() también puede llenar tu espacio PermGen –
@Guillaume: ¡eso es una respuesta, no un comentario! –
@Tom, sí y no porque no estoy seguro de esto, así que esto es más una sugerencia. No quiero parecer afirmativo en esto. ;-) –