Qual è la differenza tra CopyOnWritearraylist
e Collections.synchronizedList(..)
? Quando dovrebbe essere preferito l'altro.Java: CopyOnWriteArrayList vs synchronizedList
12
A
risposta
18
CopyOnWriteArrayList
elenco deve essere utilizzato quando il numero di letture superano notevolmente il numero di scritture. Questo perché si sta scambiando la sincronizzazione non necessaria per la copia di array costosa su ogni scrittura.
Ad esempio, quando si ha un List
di listener di eventi in un ambiente multi-threaded, che ci si vuole utilizzare CopyOnWriteArrayList
, perché
- eventi vengono generati, e quindi la lista viene iterato molto spesso
- listener di eventi sono registrati raramente
Problemi correlati
- 1. Vector vs prestazioni SynchronizedList
- 2. Perché CopyOnWriteArrayList è sicuro?
- 3. Comportamento di CopyOnWriteArrayList
- 4. In quali situazioni è adatto CopyOnWriteArrayList?
- 5. Struts vs Zend? Java vs PHP?
- 6. Serializzazione Java vs JSON vs XML
- 7. javax vs pacchetto java
- 8. Java: ArrayBlockingQueue vs. LinkedBlockingQueue
- 9. Java: HashSet vs. HashMap
- 10. Java EE vs Standalone
- 11. Java: double vs float
- 12. Java CachedThreadPool vs FixedThreadPool
- 13. Java Security vs. ESAPI
- 14. ereditarietà Java vs polimorfismo
- 15. Ereditarietà Java vs inizializzazione
- 16. Java: LockSupport.parkNanos vs Thread.sleep (...)
- 17. + = vs = + in Java
- 18. Enumerazione Java vs Iterator
- 19. Java: Paragonabile vs comparatore
- 20. Lista Java vs ArrayList
- 21. Java Thread.stop() vs Thread.interrupt()
- 22. Java Web Start vs Java Applet integrato
- 23. Prestazioni Java 8 VS. Java 7
- 24. Java vs C++ passare riferimento
- 25. Java: Statico vs classe interna
- 26. C# vs Java - Elenchi generici
- 27. Default Constructor, Java vs C++
- 28. Java: for (;;) vs. while (true)
- 29. FileWriter vs FileOutputStream in Java
- 30. C# readonly vs Java final
Anche se in un contesto leggermente diverso, ma quanto è CopyOnWriteArrayList diverso da quello di un elenco non modificabile? – AKS