title: Java , add half a million objects to ArrayList from sql Query
body: <p>I have a query with a resultset of half a million records, with each record I'm creating an object and trying to add it into an ArrayList.</p>
  
  <p>How can I optimize this operation to avoid memory issues as I'm getting out of heap space error.</p>
  
  <p>This is a fragment o code :    </p>
  
  <pre><code>while (rs.next()) {
              lista.add(sd.loadSabanaDatos_ResumenLlamadaIntervalo(rs));
  }  
  
  
      public SabanaDatos loadSabanaDatos_ResumenLlamadaIntervalo(ResultSet rs)
      {
      SabanaDatos sabanaDatos = new SabanaDatos();
      try {
  
          sabanaDatos.setId(rs.getInt("id"));
          sabanaDatos.setHora(rs.getString("hora"));
          sabanaDatos.setDuracion(rs.getInt("duracion"));     
          sabanaDatos.setNavegautenticado(rs.getInt("navegautenticado"));
          sabanaDatos.setIndicadorasesor(rs.getInt("indicadorasesor"));
          sabanaDatos.setLlamadaexitosa(rs.getInt("llamadaexitosa"));
          sabanaDatos.setLlamadanoexitosa(rs.getInt("llamadanoexitosa"));
          sabanaDatos.setTipocliente(rs.getString("tipocliente"));
  
      } catch (SQLException e) {
          logger.info("dip.sabana.SabanaDatos SQLException : "+ e);
          e.printStackTrace();
      }
  
      return sabanaDatos;
  }
  </code></pre>
  
  <p>NOTE: The reason of using list is that this is a critic system, and I just can make a call every 2 hours to the bd. I don't have permission to do more calls to the bd in short times, but I need to show data every 10 minutes. Example : first query 10 rows, I show 1 rows each minute after the sql query.</p>
  
  <p>I dont't have permission to create local database, write file or other ... Just acces to memory.</p>