Jaka jest różnica między CopyOnWritearraylist
a Collections.synchronizedList(..)
? Kiedy należy preferować jeden nad drugim.Java: CopyOnWriteArrayList vs synchronizedList
12
A
Odpowiedz
18
CopyOnWriteArrayList
Lista powinna być używana, gdy liczba odczytów znacznie przewyższa liczbę zapisów. Dzieje się tak dlatego, że handlujesz niepotrzebną synchronizacją w celu kosztownego kopiowania tablic przy każdym zapisie.
Na przykład, jeśli masz List
z detektorów zdarzeń w środowisku wielowątkowym, którą chcesz użyć CopyOnWriteArrayList
, ponieważ
- zdarzenia są opalane, a więc lista jest powtórzyć bardzo często
- detektory zdarzeń są rejestrowane rzadko
Powiązane problemy
- 1. Lista Java vs ArrayList
- 2. java: Class.isInstance vs Class.isAssignableFrom
- 3. Logowanie Java vs Log4J
- 4. Java: ArrayBlockingQueue vs. LinkedBlockingQueue
- 5. Java JRE vs GCJ
- 6. Java: LockSupport.parkNanos vs Thread.Sleep (...)
- 7. Java Thread.stop() vs Thread.interrupt()
- 8. Java CachedThreadPool vs FixedThreadPool
- 9. Metody Java vs. funkcje
- 10. Struts vs Zend? Java vs PHP?
- 11. Java 8 performance VS. Java 7
- 12. Klasa vs pakiet vs moduł vs komponent vs kontener kontra serwis vs platforma w świecie Java
- 13. Java: Integer jest równy vs. ==
- 14. Clojure zero vs Java null?
- 15. JetS3t vs AWS Java SDK
- 16. Float vs double Math Java
- 17. Java wildcards vs parametry typu
- 18. pakietu Java vs C# zespołów
- 19. Operacja bitowa Java Vs BigInteger
- 20. Java Utility Class vs. Service
- 21. Porównaj Java RPC vs WebServices
- 22. Instrukcja "Kiedy" vs Java "switch"
- 23. Java SWT: widgetSelected vs widgetDefaultSelected
- 24. Java vs Python na Hadoop
- 25. Java lotnych odniesienia vs. AtomicReference
- 26. Java ustalony przełącznik vs HashMap
- 27. Typ wymazywania: Java vs C#
- 28. Pływak Java raytrace vs double
- 29. AES256 na Java vs PHP
- 30. scala vs java for Spark?
choć w nieco innym kontekście, ale jak to CopyOnWriteArrayList inny niż niemodyfikowalne liście? – AKS