数组移除一个对象,如果gc运行,是否会回收该对象,出现null异常

bukebuhao 2011-10-27 10:24:16



ArrayList<Shop> shopList =getShopList();
Shop shop = shopList.get(shopList.size()-1);
shopList.remove(0);
System.out.println(shop);


是不是会出现null异常
...全文
186 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
healer_kx 2011-10-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lijing0511 的回复:]

不会, 因为还有引用指向该对象,所以不会被gc掉
[/Quote]
++
小笨熊 2011-10-27
  • 打赏
  • 举报
回复
不会,但是看了你的代码,会出现异常的。如果list为空,你的remove和get方法就报错啦
我嘞个去 2011-10-27
  • 打赏
  • 举报
回复
impossibility

shaosijun2004 2011-10-27
  • 打赏
  • 举报
回复
不可能出现
只要 ArrayList<Shop> shopList =getShopList();
shopList 指向的list不为null
你的代码就不会出现nullpointexception();
最多就是IndexOutOfBoundsException;
gc不会对强引用可达的对象进行回收
wingson_shen 2011-10-27
  • 打赏
  • 举报
回复
ArrayList<Shop> shopList =getShopList();
Shop shop = shopList.get(shopList.size()-1);
shopList.remove(0);
数组移除一个对象,如果gc运行,是否会回收该对象(有可能会回收)
System.out.println(shop);
是不是会出现null异常(不会。即使是null对象也只是打印出null,除非你对null对象进行操作)




JavaMan 2011-10-27
  • 打赏
  • 举报
回复
回收是不可操控的
lijing0511 2011-10-27
  • 打赏
  • 举报
回复
不会, 因为还有引用指向该对象,所以不会被gc掉
【状态估计】【KF、DKF、SMDKF 、CI 、ICF、HCMCI】离散时间线性系统的基于共识的分布式滤波器的稳定性与最优性分析(Matlab代码实现)内容概要:本文围绕离散时间线性系统的基于共识的分布式滤波器展开研究,重点分析了卡尔曼滤波(KF)、分布式卡尔曼滤波(DKF)、基于一致性的分布式卡尔曼滤波(SMDKF)、协方差交叉融合(CI)、信息凸组合(ICF)以及加权一致性融合(HCMCI)等多种滤波算法的稳定性与最优性。通过Matlab代码实现,对各类算法在状态估计中的性能进行对比与验证,深入探讨其在多传感器网络环境下的融合机制、收敛特性及抗干扰能力。文档还提供了完整的仿真资源与代码下载途径,便于读者复现实验结果并进一步开展科研工作。; 适合人群:具备一定控制理论、信号处理或状态估计基础,从事自动化、电子信息、电力系统等相关方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究多传感器系统中分布式状态估计的融合策略与算法设计;②对比分析不同共识滤波算法在稳定性、精度与通信开销方面的优劣;③为复杂系统(如微电网、无人机集群等)的状态估计问题提供算法选型与实现参考。; 阅读建议:建议结合文中提供的Matlab代码进行仿真实践,重点关注各算法的数学推导与参数设置逻辑,同时参考相关文献深化对分布式滤波理论的理解,以提升实际科研与工程应用能力。

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧