Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/05/2007, 21:49
Avatar de PeterQB
PeterQB
 
Fecha de Ingreso: diciembre-2006
Ubicación: La eterna primavera
Mensajes: 39
Antigüedad: 17 años, 4 meses
Puntos: 0
Pequeño problema con memoria

Que tal amigos con un pequeño problema.

como aparece en el titulo del mensaje tengo ese pequeño problemita, ya incremente la memoria de la maquina virtual para que ejecutarlo y si lo realiza pero no entiendo porque se acaba la memoria el codigo es el siguiente donde a = 3000


Código PHP:
public static int[][] crea_matriz_tramos(int a){ 

        
int matriz_ad [][]= new int[a][a]; 
        
String url="jdbc:postgresql://localhost:5432/itinerarios"
        
String sql=null
        
String aux=null

         try 
            
           { 

        Class.
forName("org.postgresql.Driver").newInstance(); 
    
           
Connection conn DriverManager.getConnection(url"postgres""distribuidos"); 

             
Statement s conn.createStatement(); 
   
          
ResultSet rs null

           for(
int x 0x<ax++){ 
  
               
aux String.valueOf(x+1); 

                  
sql="SELECT gid_ady,gid_tramo FROM adyacencia_c WHERE gid_nodo=" aux

                   
rs s.executeQuery(sql); 

                  while(
rs.next()){ 

                         
matriz_ad[x][rs.getInt(1)-1] = rs.getInt(2); 
    
                 }  
           } 

           
s.close(); 
           
conn.close(); 
          } 

        catch( 
Exception e ){e.printStackTrace();} 

        return 
matriz_ad
    } 
este codigo me crea una matriz de adyacencia de registros contenidos en una bd postgresql pero no entiendo porque marca falta de memoria si lo ejecuto normalmente como

Código PHP:
java <nombre_clase
en ves de

Código PHP:
java -Xms128M<nombre_clase
No se si necesite utilizar hilos para dejar residente el proceso y cuando se solicite el algoritmo crear solo un hilo de ejecucion o utilizarlos al sacar los datos de la base de datos.