OutOfMemoryError: Java heap space obtained when creating JTable with 41000 rows
OutOfMemoryError: Java heap space obtained when creating JTable with 41000 rows
我正在尝试创建一个显示 41000 行数据的 JTable,对于另一个我需要创建的仅包含 4457 行的 JTable,我有相同的代码可以正常工作,因此我的问题不是来自数据。我的程序执行需要 25 分钟来计算需要在我的用户界面中显示的所有值。程序执行完成后,我收到以下错误消息:
"Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Vector.<init>(Unknown Source)
at java.util.Vector.<init>(Unknown Source)
at javax.swing.table.DefaultTableModel.convertToVector(Unknown Source)
at javax.swing.table.DefaultTableModel.convertToVector(Unknown Source)
at javax.swing.table.DefaultTableModel.setDataVector(Unknown Source)
at javax.swing.table.DefaultTableModel.<init>(Unknown Source)"
是否无法创建具有 41000 行的 JTable?对于要创建的 JTable,它太大了吗?我不认为我的程序有什么问题,因为我有相同的代码可以很好地用于另一个由 4457 行组成的 table。
4457 != 41000。很明显,这取决于您的对象方面。
Is it impossible to create a JTable with 41000 rows?
这完全取决于您正在渲染的对象。它与只有 1 个字段的对象不同。正如评论所说,这取决于您的 JVM 配置,添加更多内存可能是一种解决方案 -Xmx2048m
Is that too many rows for the JTable to be created?
同样的答案。这取决于您使用的对象类型。如果对象太大,最好使用分页或为此制定更好的方法。
我正在尝试创建一个显示 41000 行数据的 JTable,对于另一个我需要创建的仅包含 4457 行的 JTable,我有相同的代码可以正常工作,因此我的问题不是来自数据。我的程序执行需要 25 分钟来计算需要在我的用户界面中显示的所有值。程序执行完成后,我收到以下错误消息:
"Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Vector.<init>(Unknown Source)
at java.util.Vector.<init>(Unknown Source)
at javax.swing.table.DefaultTableModel.convertToVector(Unknown Source)
at javax.swing.table.DefaultTableModel.convertToVector(Unknown Source)
at javax.swing.table.DefaultTableModel.setDataVector(Unknown Source)
at javax.swing.table.DefaultTableModel.<init>(Unknown Source)"
是否无法创建具有 41000 行的 JTable?对于要创建的 JTable,它太大了吗?我不认为我的程序有什么问题,因为我有相同的代码可以很好地用于另一个由 4457 行组成的 table。
4457 != 41000。很明显,这取决于您的对象方面。
Is it impossible to create a JTable with 41000 rows?
这完全取决于您正在渲染的对象。它与只有 1 个字段的对象不同。正如评论所说,这取决于您的 JVM 配置,添加更多内存可能是一种解决方案 -Xmx2048m
Is that too many rows for the JTable to be created?
同样的答案。这取决于您使用的对象类型。如果对象太大,最好使用分页或为此制定更好的方法。