عدم القابلية للتغيير والحصر
في هذا الدرس 4 موضوعات
هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.
نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.
في هذا الدرس
avoid locking by design.
الموضوعات المخطط لها
- Immutable objects (final fields, no setters, records) are safe to share freely.
- Replace state by swapping a reference to a new immutable snapshot.
- Thread confinement: data used by only one thread needs no lock (local variables,
ThreadLocal). - Spring singletons are shared by all requests; keep them stateless or hold only thread-safe state.
- Copy defensively when passing mutable data across threads.
تفاصيل المخطط المبدئي
عرض عملي
record StockSnapshot(Map<String,Integer> levels) {} // copy on update, swap an AtomicReferenceاختبر فهمك
Why is a Spring @Service with a mutable field risky?
أظهر الإجابة
One instance serves all requests concurrently.
التطبيق
طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.
تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.