Browse Source

添加 '思考题'

w5
Wangyanshu 1 month ago
parent
commit
285529c614
  1. 6
      思考题

6
思考题

@ -0,0 +1,6 @@
当多个模块共享同一个 List<Article> 引用时,会存在多方面风险:
1. 线程安全问题:若多线程同时读写该列表,会出现并发修改异常、数据不一致,甚至数据损坏。
2. 数据污染:一个模块对列表或内部 Article 对象的修改(如修改 title)会直接影响所有持有该引用的模块,导致数据意外变更。
3. 封装性破坏:外部代码可直接修改列表结构(add/remove),违背了数据封装原则,难以追踪数据变更来源。
4. 内存泄漏:若列表被静态或长生命周期对象持有,内部的 Article 对象无法被GC回收,造成内存泄漏。
建议通过返回不可修改视图、拷贝副本或使用线程安全集合来规避风险。
Loading…
Cancel
Save