2013-07-26 37 views
0

我有一个GWT应用程序,其中服务器部分从mySQL数据库(10000+)获取大量数据集。使用这些数据,服务器初始化对象(此外还有一个ArrayList作为参数,其他mySQL表中的对象也更多)。这些对象将被序列化并发送给客户端。关于GWT的Java序列化性能

我的项目工作得很好,只有1-5000个数据集。通过序列化超过10000个以上的对象,我觉得我遇到了一些性能问题,直到浏览器将所有数据加载到表中,都需要几秒钟的时间。使用FireBug我可以看到,通过使用大约10000个对象,服务器向客户端发送了300kB以上的数据。相当多的考虑,我希望我的应用程序能够平滑地运行至少50000个数据集/对象。

,他们都将适当增加性能或减少开销的任何提示?

就像我说我使用的是自定义类的ArrayList /对象(其实我只需要的东西,我可以,而我没有访问任何对象随机或类似的东西动态存储了大量的类)。

我觉得GWT序列化自定义类/对象很慢。是这样吗?

感谢您的任何建议!

+0

? –

+0

剖析你的代码以找出瓶颈。它是服务器端序列化吗?它是客户端的序列化吗?它是对象的渲染吗? 除此之外,显示巨大的表格是从UX角度来看的一种反模式。可以使用无限滚动或分页。 –

回答

1

如果使用celltable,您可以使用分页(见http://www.gwtproject.org/doc/latest/DevGuideUiCellWidgets.html#paging),所以只有部分数据将被载入。

分页是加载并引入当前未加载的数据范围的操作。通过仅加载当前视图所需的数据,分页改善了大型数据集的初始加载时间。

您使用的表,窗口小部件