Netty에 내부 동시 HashMap 유틸리티가 있음을 발견했습니다. Netty가 Java Core에 내장 된 ConcurrentHashMap을 사용하지 않는 이유가 궁금합니다. Netty 구현이 어떤면에서 더 좋습니까? 아니면 새로운 기능이 있습니까? Concurrent HashMap이 필요한 프로젝트에서 작업 중이며 Netty 구현을 사용해야하는지 여부는 논쟁 중입니다.하지만 소스 코드에 차이가 있는지 확인할 수는 없습니다.왜 Netty에는 자체 ConcurrentHashMap이 있습니까?
2
A
답변
5
ConcurrentHashMap
은 패키지로 Java 5에서 릴리스 된 JSR-166까지 존재하지 않았습니다.
Netty는 우수하기 때문에 자신의 ConcurrentHashMap
을 포함하지 않습니다. 실제로 JSR-166의 사본이기 때문에 Java 1.4에서 실행할 수 있습니다.
Java 5에 종속성을 가질 수 있다면 자신의 프로젝트에 대해서는 java.util.concurrent.ConcurrentHashMap
을 사용해야합니다. 그렇지 못하면 그냥 제품에 포함시켜야합니다 (그리고 패키지 이름을 변경하여 Java 5 런타임에 포함 된 프로젝트와 충돌하지 않습니다.) Doug Lea 또는 Brian Goetz에게 thread-safe 코드를 작성하게 할 수 있으면 좋습니다.
+0
정말 고마워요! 이것은 완벽하게 이해할 수 있습니다. Netty의 ConcurrentHashMap에 대한 소스 코드를 살펴 봤는데 다른 것을 볼 수 없었지만 뭔가를 놓치지 않았는지 확인하려고했습니다. –
관련 문제
- 1. ConcurrentHashMap이 스레드로부터 안전한지 어떻게 테스트 할 수 있습니까?
- 2. 왜 iphone은 GKSession에서 자체 검색합니까?
- 3. UIScrollView에는 자체 도트 표시기가 있습니까?
- 4. 왜 전화 걸기가 자체 웹보기를 포함하지 않습니까?
- 5. 자체 IASKSettingsReader를 구현할 수 있습니까?
- 6. jQuery에는 자체 Ajax 지원이 있습니까?
- 7. 모든 보석에는 자체 레이크가 있습니까?
- 8. nav에 자체 헤더가있을 수 있습니까?
- 9. DMA 컨트롤러에 자체 레지스터가 있습니까?
- 10. 활동에 왜 자신의 아이콘이 있습니까?
- 11. 번들러가 왜 루비를 판매하고 있습니까?
- 12. Microsoft에서 왜 자체 SQL 확장 (T-SQL)을 만들었습니까?
- 13. 자체 형식의 주석은 내부 클래스의 인스턴스 생성을 방해합니다. 왜?
- 14. Oracle에서 WHERE 절의 자체 조인 필드 이름이 왜 바뀌 었습니까?
- 15. 클래스에 자체 컬렉션이 있어야합니까?
- 16. C# : 왜 '마침내'조항이 있습니까?
- 17. 왜 여기에 java.lang.StackOverflowError가 있습니까?
- 18. 왜 여기에 NullPointerException이 있습니까?
- 19. 왜 이름의 차이가 있습니까?
- 20. 왜 결과에 불일치가 있습니까?
- 21. 왜 그래픽이 비어 있습니까?
- 22. 왜 CL_DEVICE_MAX_WORK_GROUP_SIZE이 (가) 있습니까?
- 23. 왜 JPanels가 겹쳐 있습니까?
- 24. 왜 Apple에 heightForRowForIndexPath가 있습니까?
- 25. 왜 오류가 있습니까?
- 26. 왜 GLint와 GLfloat가 있습니까?
- 27. 왜 tq_struct를 사용하고 있습니까?
- 28. Google지도보기가 왜 왼쪽에 있습니까?
- 29. 왜 OpenGL에 glMatrixMode가 있습니까?
- 30. 왜 스택과 힙이 있습니까?
설명서를 읽거나 용감한 사람이라면 소스 코드를 살펴보십시오. – mre
아마도 넷티가 어느 시점에서 Java 1.4를 지원했으나 제거되지 않았습니다. –
어떤 유틸리티를 언급하고 있습니까? – skaffman