问题描述
- ext中tree数据量大加载缓慢
-
ext2中tree数据量大加载缓慢,页面显示速度缓慢,有时无法显示,显示数据是正常的,这个是后台程序:List orgs = this.groupManager.getQuery(
" from UserGroup ug where leve = 1 ").list();
initChildren(orgs);
initChildren方法中:
private Collection initChildren(Collection orgs) {
for (UserGroup ug : orgs) {
Hibernate.initialize(ug.getEquipments());
Set equipents = ug.getEquipments();
for (Equipment e : equipents) {
Hibernate.initialize(e.getChannels());
}
Collection set = initFileMap(ug.getFileMap());
ug.getEquipments().addAll(set);
ug.getEquipments().addAll(initChildren(ug.getSubGroups()));
}
return orgs;
}
private Collection initFileMap(Collection fileMaps) {
for (FileMap fileMap : fileMaps) {
Hibernate.initialize(fileMap.getFileMap());
initFileMap(fileMap.getFileMap());
}
return fileMaps;
}
用了递归循环,每个节点都需要查询一次,当有1000多数据时候查询时间用了55秒,有时候报内存溢出异常(Caused by: java.lang.OutOfMemoryError: Java heap space),修改了Tomcat配置文件增加了内存,异常不报了,但依然加载缓慢或是卡。。。是程序算法问题吗?或是有没有其他方法让其不卡?求大神指点。。
时间: 2024-12-03 00:16:24