Collections متوسط

من المجموعات المتزامنة القديمة إلى البدائل الحديثة

استبدل Vector و Hashtable بمجموعات مختارة وفق احتياجات قابلية التعديل والتزامن الفعلية.

✕ Legacy synchronized collection
Hashtable<String, Session> sessions = new Hashtable<>();
sessions.put(id, session);
✓ Concurrent Collections API
ConcurrentMap<String, Session> sessions = new ConcurrentHashMap<>();
sessions.put(id, session);
هل ترى مشكلة في هذا الكود؟ أخبرنا.
🎯

تزامن مقصود

يوثّق النوع المختار ما إذا كانت المشاركة متوقعة.

⚡

قابلية توسع أفضل

يتجنب ConcurrentHashMap قفلاً واحداً يشمل الجدول بأكمله في عمليات الوصول المعتادة.

🧩

واجهات برمجية حديثة

يعمل بصورة طبيعية مع عمليات المجموعات والخرائط المتزامنة الحالية.

الأسلوب القديم
Hashtable
الأسلوب الحديث
ConcurrentHashMap
منذ JDK
5
الصعوبة
متوسط
من المجموعات المتزامنة القديمة إلى البدائل الحديثة
متاح

متاح على نطاق واسع منذ JDK 5 (سبتمبر 2004)

تزامن Vector و Hashtable كل عملية عبر واجهات برمجية قديمة. ينبغي للشيفرة الحديثة عادةً استخدام ArrayList أو HashMap للبيانات المحصورة في خيط واحد، واستخدام مجموعات متزامنة مصممة لهذا الغرض عند الحاجة إلى تعديل مشترك.