为什么我因Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
而获得objects[i]=rs.getObject(i+1);
?大约有10,000条记录,每条记录大约有4,000个字符。
String[] tableColumnsName = {idString, dateEnteredString, entryString, operatorString, licenseNoString, lastModifiedString};
DefaultTableModel aModel = (DefaultTableModel) logEntryTable.getModel();
aModel.setColumnIdentifiers(tableColumnsName);
ResultSetMetaData rsmd;
try {
rsmd = rs.getMetaData();
int colNo = rsmd.getColumnCount();
while(rs.next()){
Object[] objects = new Object[colNo];
for(int i=0;i<colNo;i++){
objects[i]=rs.getObject(i+1);
}
aModel.addRow(objects);
}
logEntryTable.setModel(aModel);
logEntryTable.getColumnModel().getColumn(0).setMaxWidth(30);
rs.close();
} catch (SQLException e) {
e.printStackTrace();
showCantConnectErrorDialog();
}
答案 0 :(得分:3)
您的JVM内存不足。当JVM内存不足时,可能会出现OutOfMemoryError可能出现在分配内存的代码中的任何位置。尝试使用-Xmx parameter增加堆大小。
答案 1 :(得分:1)
我同意^^您需要增加堆大小,或者如果不可能,请减少所有内容以使其尽可能节省空间。