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 = 0; x<a; x++){
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.