我有一个APP在会话bean中保存一个大的列表(100.000+记录)
加载网格或任何更改需要2到3秒,我希望它更快。
有没有办法制作数据"懒惰"虽然渲染页面但仍然在会话bean中拥有所有数据?
在primefaces doc中,他们有一个" lazyclass"我不能这样做,托管bean无法扩展这样的类
答案 0 :(得分:0)
你是如何加载网格的?
您可以尝试为其创建缓冲区。如果你快速加载列表,但是用这么大的列表初始化视图很慢,你可以用较小的列表初始化它 - 大数据的第一部分,然后添加更多的数据。
您可以在此处查看如何拆分列表:Java: how can I split an ArrayList in multiple small ArrayLists? 如今,一些公司使用所有数据存储在RAM中以实现最快的操作。所以在内存设计中不要低估。 100 000并非每台机器都可以处理它。
Java 8 Stream API可以非常有效地处理列表过滤和查询。