내용으로 건너뛰기
권남
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
java:collection
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== Java Collection ====== * [[http://www.eclipse.org/collections/|Eclipse Collections]] * [[https://www.baeldung.com/java-collection-remove-elements|Removing Elements from Java Collections | Baeldung]] * [[http://dveamer.github.io/backend/JavaConcurrentCollections.html|Java Thread Safe Collections - List, Queue, Set, Map]] * [[https://www.baeldung.com/java-synchronized-collections|An Introduction to Synchronized Java Collections | Baeldung]] ===== Set ===== ==== Concurrent Set ==== * 동시접근이 필요한 Set 은 두가지 방식으로 만들 수 있다. * [[http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html#synchronizedSet%28java.util.Set%29|java.util.Collections#synchronizedSet(java.util.Set<T>)]] : 동기화된 Set 객체를 리턴한다. 하지만 **모든 요청을 ''synchronized''로 처리해서 성능이 떨어진다.** * [[http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Sets.html#newConcurrentHashSet%28%29|com.google.common.collect.Sets#newConcurrentHashSet()]] : [[http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentHashMap.html|ConcurrentHashMap]]을 이용해 동기화된 Set을 생성한다. 성능상 더 유리하다고 한다.<code java> // 동기화된 Set 생성 원리 Set<E> concurrentSet = Collections.newSetFromMap(new ConcurrentHashMap<E, Boolean>()); </code> ==== List ==== === CopyOnWriteArrayList === * [[https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CopyOnWriteArrayList.html|CopyOnWriteArrayList]] * ''synchronized'' 없이 멀티 쓰레드에서 안전하게 작동하는 List. * iteration을 돌 때 가지고 있던 내용을 복제하여, 다른 쓰레드로 인한 변경 영향을 받지 않게 한다. * 성능이 떨어진다. * [[https://www.baeldung.com/java-copy-on-write-arraylist|Guide to CopyOnWriteArrayList | Baeldung]]
java/collection.txt
· 마지막으로 수정됨: 2020/08/05 17:33 저자
kwon37xi
문서 도구
문서 보기
이전 판
역링크
맨 위로