【发布时间】:2013-09-18 13:22:05
【问题描述】:
我有一个文件,我从中读取数据并将它们放入jTable。问题是当文件有很多数据(例如 300.000 行)时,我的应用程序需要大量内存(350MB)。有什么有效的方法可以在JTable 中加载许多行吗?
我创建了一个Default Model 和一个类似的 Jtable:
DefaultTableModel model = new DefaultTableModel(array, colNames);
JTable data_table = new JTable();
data_table.setModel(model);
数组“array”包含数据,数组“colNames”包含列的名称。
【问题讨论】:
-
如果您将这么大的文件加载到表中,可能不可避免地会消耗大量内存。是否有必要一次将所有数据保存在内存中?如何从文件中加载数据?
-
我想搜索 JTable 中的记录。如果数据不在内存中,我该怎么做?
-
您可以使用一些替代方法,但访问该数据的最快方法是通过易失性内存。您的应用程序倾向于更大的内存占用可能是不可避免的。你是如何从文件中加载数据的?
-
我打开读取第一行的文件,将其拆分并将其存储在二维数组'array'中
-
例如 300.000 行超出/超载人类的可能性,加载可能需要 2-3 分钟以上,排序/过滤是关于如何度过空闲时间,使用分页逻辑 ....
标签: java performance swing file-io jtable