Я использую addBatch/executeBatch вставить несколько записей в таблице базы данных Oracle, но я столкнулся следующую ошибку heapsizeHeapsize ошибка executeBatch JDBC
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.lang.reflect.Array.newArray(Native Method)
at java.lang.reflect.Array.newInstance(Array.java:52)
at oracle.jdbc.driver.BufferCache.get(BufferCache.java:212)
at oracle.jdbc.driver.PhysicalConnection.getCharBuffer(PhysicalConnection.java:7422)
at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2826)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9973)
at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:213)
Я добавил следующий параметр
-Xms1024m -Xmx1024m
при вызове программы без везения. Добавление 1024m было хорошо для 180k записей, но он продолжает сбой на 290k. Я попытался увеличить его до 4024 м, но это не поможет.
Вы пытались выполнить команду 'Runtime.getRuntime(). TotalMemory();' найти общую память для JVM – Ramanlfc
Не выполнять всю партию сразу, так как все данные должны храниться в памяти до тех пор, пока не будут выполнены все инструкции ; собрать достаточно большое число (например, где-то между 100 и 1000) и выполнить. –