Foros del Web » Programación para mayores de 30 ;) » Java »

Clonar arreglos en java

Estas en el tema de Clonar arreglos en java en el foro de Java en Foros del Web. Quiero clonar varias veces un arreglo hasta llenar la memoria y obtener el numero de copias que se hicieron pero no c como realizar esto. ...
  #1 (permalink)  
Antiguo 14/03/2011, 11:22
 
Fecha de Ingreso: marzo-2007
Mensajes: 7
Antigüedad: 17 años
Puntos: 0
Clonar arreglos en java

Quiero clonar varias veces un arreglo hasta llenar la memoria y obtener el numero de copias que se hicieron pero no c como realizar esto. Pero lo corro y nunca se me llena la memoria alguien que me ayude o me diga donde esta el error.

public class Memoria {

int[] arreglo = new int[1000];
int contador = 0;

public void llenar() {
long tiempoInicio = System.currentTimeMillis();
for (int i = 0; i < 1000; i++) {
arreglo[i] = i + 1;
}
for (;;) {
try {
arreglo.clone();
++contador;

} catch (final java.lang.OutOfMemoryError e) {
long totalTiempo = System.currentTimeMillis() - tiempoInicio;
JOptionPane.showMessageDialog(null, "El tiempo de demora es :" + totalTiempo + " miliseg"+ "creando "+contador+" arreglos");
}

}
}
}
  #2 (permalink)  
Antiguo 14/03/2011, 12:31
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 5 meses
Puntos: 454
Respuesta: Clonar arreglos en java

buenas.

java tiene un recolector de basura. Si haces arreglo.clone() pero no guardas el arreglo clonado en ningún sitio, el recolector de basura lo acaba liberando.

tampoco vale hacer esto dentro del bucle


try {
variable = arreglo.clone();
++contador;


porque sólo guardarías la copia de esa iteración, liberando el recolector la copia de la iteración anterior.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 15/03/2011, 09:23
 
Fecha de Ingreso: marzo-2007
Mensajes: 7
Antigüedad: 17 años
Puntos: 0
Respuesta: Clonar arreglos en java

Entonces como puedo hacer para clonar arreglos de manera continua ?

Etiquetas: arreglos, clonar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:03.