From 285529c61411c8d721db49836f246afbe45ad8e4 Mon Sep 17 00:00:00 2001 From: Wangyanshu <2680603193@qq.com> Date: Thu, 7 May 2026 15:01:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20'=E6=80=9D=E8=80=83?= =?UTF-8?q?=E9=A2=98'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 思考题 | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 思考题 diff --git a/思考题 b/思考题 new file mode 100644 index 0000000..95ef885 --- /dev/null +++ b/思考题 @@ -0,0 +1,6 @@ +当多个模块共享同一个 List
引用时,会存在多方面风险: +1. 线程安全问题:若多线程同时读写该列表,会出现并发修改异常、数据不一致,甚至数据损坏。 +2. 数据污染:一个模块对列表或内部 Article 对象的修改(如修改 title)会直接影响所有持有该引用的模块,导致数据意外变更。 +3. 封装性破坏:外部代码可直接修改列表结构(add/remove),违背了数据封装原则,难以追踪数据变更来源。 +4. 内存泄漏:若列表被静态或长生命周期对象持有,内部的 Article 对象无法被GC回收,造成内存泄漏。 +建议通过返回不可修改视图、拷贝副本或使用线程安全集合来规避风险。 \ No newline at end of file