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

Problema de memoria

Estas en el tema de Problema de memoria en el foro de Java en Foros del Web. Hola, tengo un programa que necesita almacenar la siguiente estructura para trabajar. Tengo una poblacion de 500 individuos La cual la represento como un Vector ...
  #1 (permalink)  
Antiguo 15/04/2010, 05:26
 
Fecha de Ingreso: febrero-2010
Mensajes: 15
Antigüedad: 14 años, 2 meses
Puntos: 0
Problema de memoria

Hola, tengo un programa que necesita almacenar la siguiente estructura para trabajar.

Tengo una poblacion de 500 individuos
La cual la represento como un Vector Individuos[];
Luego cada individuo almacena unos 40 contenedores los cuales los represento tambien como un Vector Contenedores[];

Cada Contenedor a su vez contiene un Vector de espacios posibles que puede tener una media de 40 espacios. Vector Espacios[];
Y este vector de espacios almacenael Objeto Espacio que esta formado por los int
posicionX, posicionY, Largo y ancho.

Por lo tanto tengo una estructura e Vectores anidados 500*40*40*4int.
La cual me ocupa demasiada memoria para trabajar del orden de 200.000 objetos de tipos espacio. O lo que es lo mismo 800.000 int. Alguien se le ocurre como tratar esta estructura de datos.

Un saludo y gracias.
  #2 (permalink)  
Antiguo 15/04/2010, 10:42
 
Fecha de Ingreso: febrero-2005
Mensajes: 396
Antigüedad: 19 años, 2 meses
Puntos: 1
Respuesta: Problema de memoria

¿Y que problemas tienes que con esos 800.000 ints? Yo no veo que sea un número muy grande. Si realmente los necesitas, pues estupendo. De hecho, no deberían ocupar en memoria más que unos pocos megas.

Otra cosa sería que dijeras que los datos en realidad son escasos, pero que necesitas una estrctura similar a la que comentas. En esos casos podría haber un método más eficiente de almacenarlos. Pero sin más información no se puede decir mucho más.

Un saludo

Zerjillo
  #3 (permalink)  
Antiguo 15/04/2010, 14:48
 
Fecha de Ingreso: febrero-2010
Mensajes: 15
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema de memoria

Efectivamente, con esos valores no es un problema, pero para problemas mas grandes si se convierte en un problema.

Necesitaba alguna forma de almacenar los datos de forma mas eficiente.

Gracias
  #4 (permalink)  
Antiguo 15/04/2010, 23:05
Avatar de dackiller  
Fecha de Ingreso: septiembre-2003
Ubicación: The Matrix
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: Problema de memoria

Lo que no veo en tu post, es cuanta memoria te esta consumiendo !

Ahora pregunto !

¿Realmente necesitas cargar los 500 individuos simultaneamente ?

Si, realmente te ocupa mucho espacio (todo depende de la maquina que estes haciendo), si realmente te ocupa mucho espacio, vas a tener que empezar a pensar en Serializacion ó almacenar esa estructura de datos en archivos...

Saludos.
__________________
--
NOTA: Si haz conseguido la solución a tu problema, por favor edita el titulo del tema colocando el prefijo [SOLUCIONADO], para que otros usuarios puedan encontrar soluciones más rápido.
  #5 (permalink)  
Antiguo 16/04/2010, 07:26
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 10 meses
Puntos: 10
Respuesta: Problema de memoria

Si realmente necesitas cargar tooooodos esos datos en memoria yo te recomiendo que solo cargues en principio los puros 500 y si despues quieres ver el detalle de uno pues ir por los siguientes 40 de ese que quieres consultar... no creo que afecte a la base....
  #6 (permalink)  
Antiguo 16/04/2010, 09:47
 
Fecha de Ingreso: septiembre-2008
Ubicación: Córdoba
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema de memoria

Pues deberias ver algun libro de estructura de datos para aclarar dudas. Por lo visto lo que estas buscando es informacion y no resolver un problema concreto ( desde mi pto de vista )
  #7 (permalink)  
Antiguo 16/04/2010, 20:35
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: por ahi!!!
Mensajes: 113
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Problema de memoria

si describis el problema es mas facil ayudarte en resolverlo. Y aparte parte del codigo que tenes. Hasta ahora solo nos estas diciendo con el problema que te topaste vos con tu forma de resolverlo. Creo que primero tendrias que probar de utilizar collections en lugar de los arrays.

Etiquetas: memoria
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 16:24.