Исключение пространства Java Heap, с большим количеством данных, любое решение?

StackOverflow https://stackoverflow.com/questions/4349347

Вопрос

У меня есть большая проблема с памятью кучи Java, я пытаюсь перенести из базы данных Oracle 11G для доступа к файлу 2007

Это не проблема ниже 65 000 записей, теперь оттуда ... Сообщение оказывает исключение Java Heap, потребление памяти повышается более 600 м и использование процессора более 50% до превышения привязанности.

Насколько я знаю, ret.next () Не получайте все данные (более 50 Colums x +65000 ряд), но некоторые записи x Time я пытаюсь установить размер Fetch тоже, ничего не произошло

rset.setFetchSize(1000);

Я стереть свой код и показать вывод, одинаковую ошибку

while (rset.next()) {
 if (cont % 5000 == 0) {
     System.out.println(cont + " proccesed and counting ...");
 }
}

Пожалуйста, не дайте мне ответ на использование -xm (S, x) 512, 1024 и т. Д. Это могло решить, а не в моем пациенте (я пытался установить это еще выше XD, ничего не случится, я не получил тот же исключение в 65 000 записей тоже)

Есть ли другие варианты, которые я мог бы попробовать? пожалуйста помоги

извините, а about мой английский

Это моя связь:

Class.forName("oracle.jdbc.driver.OracleDriver");
this.conn = DriverManager.getConnection("jdbc:oracle:thin:@" + getServer() + ":1521:orcl", getUser(), getPassword());
                this.stmt = this.conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, java.sql.ResultSet.CONCUR_UPDATABLE);
Это было полезно?

Решение

Похоже, проблема в том, что вы используете прокручиваемую призывую, и это будет использовать больше памяти.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top