java - 将数据库表填充到具有 1000 行的 JavaFX 表中

标签 java mysql javafx-2

类似的问题还有很多,但这个问题略有不同。

我正在开发一个 JavaFX 应用程序。我的应用程序中有 mysql 数据库。我有大约 2500 个表,每个表大约有 1000 行。当用户选择表名称时,我想在 JavaFX 中显示这些表行。

我已经阅读了有关此问题的各种帖子,但在大多数情况下,他们创建了保存表(POJO)数据的类,然后填充在TableView 使用 Controller

由于 JavaFX 中的 2500 个类根本不实用,我该如何管理如此大量的数据?

如果我为每一行创建对象,那么最后会有大约 1000 个或更多的对象,所以我认为这会导致系统内存不足错误。

有人知道我怎样才能实现这个目标吗?

最佳答案

How Can I manage this amount of data in JavaFX as making 2500 of classes in not at all practical?

使用通用的东西,例如String[]作为表的数据类型。有一个类似的例子 here .

If I create object for every row, so at the end there will be around 1000 or more of object, So i think it will cause outofmemory error on system will low memory.

一点也不。例如,如果表中有 20 列,并且每个值都由一个 String 表示,例如 100 字节,则表中的每个对象大约为 2KB。 (这一切都相当慷慨;并且使用您自己的类作为对象类型而不是 String[] 不会增加明显的内存消耗。)1000 行大约需要 2MB。在大多数系统上,您可能有数百 MB 或更多的空间可供 JVM 使用。

关于java - 将数据库表填充到具有 1000 行的 JavaFX 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24467738/

相关文章:

java - 为什么在写入 ObjectOutputStream 时必须首先调用 defaultWriteObject 函数?

mysql - 如何将另一个 "AND"添加到 "MATCH AGAINST"查询

mysql - 如何使用sequelize获取对象数据?

binding - 如何处理相关的数据绑定(bind)?

java - 单例创建新窗口

javafx-2 - 如何找到在 javaFX webView 中完全加载网页的确切时间

java - Java 中的对象与扩展

java - 为什么泛型类型具有相同的签名?

java - JUnit 4 测试套件

php - SQL 未按某些条件正确过滤