내 라이브러리에서 버퍼 풀링을 사용하고 SoftReference
을 사용하여 개체 및 풀 크기 균형을 암시 적으로 반환하는 방법을 생각했습니다. 에 의해 그래서ReferenceQueue는 객체 풀링에 적합합니까?
, "적합"내 말은 :
- 예를 들어, 명시 적 ArrayBlockingQueue를 비교가 매우 확대됨에 있습니까? (규모보다 작음)
- 핫스팟, 달빅 (Dalvik) 및 ART와 같은 최신 VM에서
WeakReference
s보다 "부드럽게"동작 할만큼 신뢰할 수 있습니까? 나를 위해
, 그것은 "조기 최적화", 풀에 객체를 반환으로 덜 번거 로움을 초래할 수 있지만 특정 요구 사항을 충족하지 않는 경우 풀링의 혜택을 부정하는 것입니다 단지 건축의 선택이 아니다.
어떻게 소프트 참조를 실제로 사용 하시겠습니까? 저는 이러한 구조가 어떤 종류의 풀링을 염두에두고 설계된 것이 아니라고 확신 할 수 있다고 생각합니다. 이는 최종 결정 구조이며 모든 종류의 마무리와 마찬가지로 어떤 종류의 합리적인 기간에 실행될 것이라고 기대할 수 없습니다. 무슨 일이 일어나는지는 엄청난 수의 JVM 및 GC 특정 구성에 달려 있습니다. –