Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何存储数据库中的对象?_Java_Algorithm_Swing_Object_Performance - Fatal编程技术网

Java 如何存储数据库中的对象?

Java 如何存储数据库中的对象?,java,algorithm,swing,object,performance,Java,Algorithm,Swing,Object,Performance,我正在开发一个java应用程序,它将以图形方式描述和组织数百个对象。这些对象中的每一个都是从SQL数据库加载的,用于此程序 我计划保留所有数据的本地副本,通过JDBC连接检索,然后在本地对其排序(可能使用Merge sort,因为这是我最喜欢的) 您建议我如何在本地存储数据?理想情况下,它将非常容易遍历、排序和与源数据库进行比较 目前,我有一个名为Ideas的对象,它是从数据库中填充的。然后,为了显示它们,我创建了相同数量的IdeaGraphics对象,并将它们添加到相应的jpanel中。这有时

我正在开发一个java应用程序,它将以图形方式描述和组织数百个对象。这些对象中的每一个都是从SQL数据库加载的,用于此程序

我计划保留所有数据的本地副本,通过
JDBC
连接检索,然后在本地对其排序(可能使用
Merge sort
,因为这是我最喜欢的)

您建议我如何在本地存储数据?理想情况下,它将非常容易遍历、排序和与源数据库进行比较


目前,我有一个名为
Ideas
的对象,它是从数据库中填充的。然后,为了显示它们,我创建了相同数量的
IdeaGraphics
对象,并将它们添加到相应的jpanel中。这有时可能相当缓慢

您可以实现该接口并使用修改后的mergesort,如图所示。

也许您已经这样做了,但您的问题并不清楚:

您可以获得几乎相同数量的数据类实例(Ideas),但图形类的实例却完全不同。将小部件和图形的数量限制为1

构建您自己的自定义
JPanel
类,给它一个想法列表,并覆盖
paintComponent
方法来绘制列表中的所有项目


如果您的可视区域很大,请对其进行双重缓冲。

我不同意这一点,在本地内存中保存大量数据也不是一个好主意,用模拟的方法,从
Sql引擎(现在的大多数引擎)优化预处理器,然后基本上以最好的
终端用户PC


如果您对数据库有任何权限,那么仍然存在将数据从DbEngine加载到(内存上)的选项,可能是加载到或可能是

本地存储它们的方式(我假设您的意思是在内存中)主要取决于您访问它们的方式。如果您将在某个空间的不同区域访问几何/空间对象,则四叉树可能是合适的。如果您通过某个键访问对象,则地图/字典更适合等等。如果您在显示大量图形对象时需要可伸缩性,您可能希望自己将它们绘制到面板上,而不是创建大量控件。我确实希望以图形方式表示它们,但我需要能够单独单击每一个。我只需要做像素计算就可以知道单击了哪个?是的,正如建议的那样,你只需要有一个自定义面板来绘制你的对象。当用户单击时,您可以计算单击了哪个对象。+1是一个好主意,它将帮助我消除一个大瓶颈=]