elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  array size exceeds
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: array size exceeds  (Leído 5,121 veces)
Arobavx

Desconectado Desconectado

Mensajes: 16



Ver Perfil WWW
array size exceeds
« en: 9 Diciembre 2010, 03:43 am »

hola, tengo un problema al hacer muy grande un arreglo hay alguna forma de modificar el limite?cual es el limite? el error es el siguiente.
Citar
java.lang.OutOfMemoryError: Requested array size exceeds VM limit


« Última modificación: 9 Diciembre 2010, 03:48 am por Arobavx » En línea

sapito169


Desconectado Desconectado

Mensajes: 629



Ver Perfil
Re: array size exceeds
« Respuesta #1 en: 9 Diciembre 2010, 04:58 am »

y por que tienes un array gigante mejor arregla tu aplicacion o en caso de que no haya problema usa cualquier base de datos como dervy


En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: array size exceeds
« Respuesta #2 en: 9 Diciembre 2010, 07:06 am »

Los errores más dificiles de capturar son los de "OutOfMemory" (quedarse sin memoria) ya que en muchos casos la aplicación queda en estado inconsistente.
A mi parecer si la aplicación se queda sin memoria es mejor terminarla, aunque muchas veces es imposible cambiar el código para hacerlo de manera limpia.

Como desarrolladores Java a veces vemos como la máquina virtual java se cuelga o se cae porque hacemos algo mal o por limitaciones del sistema.

La verdad no se muy bien que es lo que estes haciendo, pero podrias capturar el error un con try-catch.

Código
  1. public class RunOutOfMemory {
  2.  
  3. public static void main(String [] args) {
  4. try {
  5. long [] array = new long[Integer.MAX_VALUE];
  6. System.out.println("Mi arreglo tiene un tamaño de: " + array.length);
  7. }
  8. catch(OutOfMemoryError e) {
  9. System.out.println("El tamaño del arreglo excede el límite de la VM");
  10. }
  11. }
  12. }


O bien con

Código
  1. throw new OutOfMemoryError("El tamaño del arreglo excede el límite de la VM")

Un saludo.
En línea

abc
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: array size exceeds
« Respuesta #3 en: 12 Diciembre 2010, 21:41 pm »

O ampliar la memoria virtual de la maquina Java VM.
Es uno de los grandes inconvenientes de Java, que no todas las maquinas disponen de la misma memoria virtual para ejecutar el Java Runtime, mas vale avisar de ello con las excepciones como ya te han citado, o simplemente cortar la ejecución de la aplicación, aunque sucio, es rapido, pero siempre es mejor que el usuario sepa que ha ocurrido.

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Copiar parte de una array a otra array
Programación Visual Basic
sircid 3 5,277 Último mensaje 19 Diciembre 2007, 11:27 am
por LeandroA
Ayuda: Local data exceeds data segment size limit
Programación C/C++
mjpedia 2 4,006 Último mensaje 4 Junio 2010, 22:10 pm
por Gallu
Obtener Size de un Form
.NET (C#, VB.NET, ASP)
Braayhaan 1 2,304 Último mensaje 6 Septiembre 2010, 13:59 pm
por raul338
Api para aumentar el size de un address?
Ingeniería Inversa
.:UND3R:. 3 2,517 Último mensaje 1 Septiembre 2011, 00:26 am
por .:UND3R:.
Index was out of range. Must be non-negative and less than the size of the colle
.NET (C#, VB.NET, ASP)
Guillito 1 1,676 Último mensaje 21 Mayo 2015, 06:17 am
por El Benjo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines