[英]OutOfMemory Error when transferring data from text file to MySQL table in JAVA
我有一個包含一些數據的文本文件。 當我嘗試將數據放入MySQL時,出現此錯誤“ java.lang.OutOfMemoryError: Java heap space
”。
我的代碼:
try {
// create a buffer reader
java.io.BufferedReader br = new BufferedReader(new FileReader(f));
// define line
String line = null;
// connect to the database
connect = (Connection) DbConnection.establishConnection();
while ((line = br.readLine()) != null) {
// create preparedStatement
preparedStatement = (PreparedStatement) connect.prepareStatement("insert into IdentifiedExpertList values (?,?)");
String[] rowData = line.split("\\s+", 2);
String firstColumnData = rowData[0];
String secondColumnData = null;
if (rowData[1].trim().isEmpty()) {
secondColumnData = null;
} else {
secondColumnData = rowData[1];
}
preparedStatement.setString(1, firstColumnData.trim());
preparedStatement.setString(2, secondColumnData);
preparedStatement.executeUpdate();
}
br.close();
}
java.lang.OutOfMemoryError: Java heap space
表示您為JVM分配的內存不足以跟上將文件加載到內存所需的內存。
您可以使用-Xms
和-Xmx
標志為JVM分配內存。 如果正在使用的內存非常少,請使用這些標志來增加內存並查看。
如果仍然遇到內存問題,那么另一種可能的解決方案是讀取文件的塊並將其上傳到DB,而不是一次讀取整個文件。
如果它們都不起作用,則意味着代碼中可能存在內存泄漏。 您需要修復它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.