上次做项目 遇到了一次,内存中,加载了3000多条数据,,造成系统非常卡, 客户反馈体验非常不好,后面想办法,虽然只有在特定的环境下出现, 但是这种特定的环境下产生的也是要解决的, 如果解决呢?
想法就是把数据分成很多段, 一次只加载10条显示,剩下的下拉加载,如果这样做,那如何把集合进行切割呢, 采用集合的subList()方法
以下代码,不想写,就参考下 这么博主的;
链接地址:https://blog.youkuaiyun.com/weixin_40345099/article/details/82153576
这是一个简单的问题,list集合分组可能会有许多方式,比如循环遍历分组,这样的分组方式会经过多次判断,性能比较低。
首先说说为什么要分组,如果数据小就没有必要了,在处理大数据时,list中可能存储了很多数据,造成很大的内存开销,你为了减轻系统负担,建议对list进行分组操作,并说清除不需要的数据
现在发现List.java中有个类似于字符串截取(subString)的方法subList(int fromIndex,int toIndex),其中参数fromIndex、toIndex分别代表截取的起始下标和终止下标(不包括),源码如下:
List接口中的声明:
List<E> subList(int fromIndex, int toIndex);
ArrayList中的实现:
public List<E> subList(int fromIndex, int toIndex) {
subListRangeCheck(fromIndex, toIndex, size);
&n

为了解决大数据量导致的系统卡顿问题,通过使用`List`的`subList()`方法将数据分段加载。`subList()`返回的是原列表的视图,不占用额外内存,适合大数据分布处理。但频繁调用可能导致内存累积,需注意内存管理。使用`subList(from, to).clear()`可清理不再需要的数据,减少内存开销。"
131911978,19584472,智慧热力系统:智能供热与GIS技术的融合应用,"['大数据', 'arcgis', '供热系统', '自动化控制', 'GIS应用']
最低0.47元/天 解锁文章
514

被折叠的 条评论
为什么被折叠?



