Gran cantidad de borrado de datos

Tengo un programa con GUI con segmento que puede ser grande y contener muchos objetos. Una de las características de mi programa es "cerrar" ese segmento y crear uno nuevo.

Todo este segmento está conectado al programa por un solo JPanel y una ArrayList. Si elimino / configuro esos dos como nulos, no debería haber forma de acceder a ninguno de los niños JPanels (uno de los cuales es un objeto complejo que extiende componentes GUI, pero que también contiene muchas variables).

Si estoy en lo cierto, todos los niños JPanels serán recogidos por el recolector de basura.

Sin embargo, ¿qué pasa con los hijos de los niños? Tengo algunas "familias" que van hasta 5-6 "generaciones". ¿Se eliminarán solo en el quinto (o sexto) pase de GC, o detectará a toda la "familia" como no accesible y la recolectará de una vez (o en su primer pase)?

EDITAR: Otra pregunta menor: ¿Existe un método para el componente de oscilación que elimine todos sus elementos secundarios?

Respuesta 1

Para un enfoque empírico, ejercite su programa repetidamente y busque el patrón que se muestra aquí, en el que la memoria consumida no puede volver a la línea de base.

fuga de imagen

Por el contrario, este ejemplo vuelve a la línea de base después de cada ciclo.

imagen sin fugas

Respuesta: 2

Quiero crear un método que tome un argumento de cadena y devuelva una clase de ese tipo. Por ejemplo, si paso Long, debería devolver el código psudo Long.class: private Class <?> ClassReturn (String ...

Tengo una cadena como #? Text1 Tengo otras dos cadenas como c # 1.text2 yd # 2.text3 ¿Quiero reemplazar #? en un #? text1 con un # 1.text1 si elijo c # 1.text2. Si elijo d # 2.text3, entonces quiero ...

Tengo dos matrices de bytes que he puesto en una lista de matrices. El código que está aquí: ArrayList al = new ArrayList (); FileInputStream fis = new FileInputStream (bin); fis.read (archivo, 0, 2048); metas = "...

Tengo un proyecto de Java ya en eclipse, y necesito usar las clases allí en el código del servidor de mi proyecto GWT, también en eclipse. Tengo un paquete, llamémoslo com.ejemplo con muchos ...