Java Heap es el límite para el tamaño de los objetos que usted puede tener en el sistema. Si el tamaño de su objeto está más allá del montón, se generará un error de falta de memoria.
En su caso, el tamaño total de su objeto (Objeto en ArrayList + otros objetos en su sistema) es más importante, ya que su ArrayList solo haría referencia a estos Objetos.
Estas son las opciones de VM se puede utilizar para establecer Montón tamaño como por su exigencia (de the java
documentation):
-Xms
n
Especificar el tamaño inicial, en bytes, de la memoria grupo de asignación. Este valor debe ser un múltiplo de 1024 mayor que 1 MB. Adjunte la letra k o K a indique kilobytes, o m o M a indique megabytes. El valor predeterminado es de 2 MB. Ejemplos:
-Xms6291456
-Xms6144k
-Xms6m
-Xmx
n
especificar el tamaño máximo, en bytes, de la piscina asignación de memoria. Este valor debe un múltiplo de 1024 mayor que 2MB. Adjunte la letra k o K a indique kilobytes, o m o M a indique megabytes. El valor predeterminado es 64 MB.Ejemplos: información Montón
-Xmx83886080
-Xmx81920k
-Xmx80m
cheque de VM Spec
3.5.3 Montón
La máquina virtual de Java tiene un montón que se comparte entre todos Java Virtual Machine> hilos. El montón es el área de datos de tiempo de ejecución a partir de la cual se asigna la memoria para todas las instancias de clase y las matrices. El montón se crea en la puesta en marcha de la máquina virtual. El almacenamiento en montón para objetos es recuperado por> un sistema de gestión de almacenamiento automático (conocido como recolector de basura); los objetos nunca> son desasignados explícitamente. La máquina virtual Java no asume ningún tipo particular de sistema de gestión de almacenamiento automático, y la técnica de gestión de almacenamiento puede elegirse de acuerdo con los requisitos del sistema del implementador. El montón puede ser de un tamaño fijo o expandirse según lo requiera el cálculo y se puede contratar si un montón más grande es innecesario. La memoria para el montón no necesita ser contigua.
Una implementación de máquina virtual Java puede proporcionar al programador o al usuario control sobre el tamaño inicial del montón, así como, si el montón se puede expandir o contraer dinámicamente, controlar el tamaño máximo y mínimo del montón. 5
la siguiente condición excepcional se asocia con el montón:
Si un cálculo requiere más montón que puede ser puesto a disposición por el sistema automático de gestión de almacenamiento, la máquina virtual Java lanza un OutOfMemoryError.
Maldición Solo estaba diseñando un objeto con 65536 campos :( – fish
@fish: eso no es diseño, es un accidente ;-) –