package com.hihonor.appsearch.utils;
import java.lang.ref.PhantomReference;
import java.lang.ref.ReferenceQueue;
import java.util.ArrayList;
import java.util.List;
/**
功能描述 @since 2021-12-03
*/
public class Test {
public static void main(String[] args) {
List values=new ArrayList<>();
ReferenceQueue referenceQueue=new ReferenceQueue();
PhantomReference weakReference=new PhantomReference<>(values,referenceQueue);
for(int i=0;i<1000000000;i++){
final List strings = weakReference.get();
if (strings==null){
values=new ArrayList<>();
values.add(i+"");
System.out.println(i+"");
}
}
}
}
针对大数据集的list实现数据加入操作,执行过程中没有出现oom异常信息,这个给出了一个典型的代码优化方向。
使用虚引用,若引用来代替进行代码开发,可以减少执行过程中出现的oom数据异常情况的。使用相当少量的代码就可以完成对应的代码实现效果的。将会是我后期书写代码的优化方向的。

评论
登录后即可评论
分享你的想法,与作者互动
暂无评论