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