ConcurrentHashMap에 보니까 putIfAbsent가 있어서

딱 싱글톤 풀처럼 사용할 수 있겠다 생각함.

그니까 new A(123) 이란 객체가 생성되면 맵에 집어 넣고 씀

파일 IO 작업 하는애라 다른 new A(123)으로 작업하면 망하니까 그걸 방지..ㅇㅇ

그래서 생각좀 하다가 ConcurrentHashMap put 메소드 오버라이딩 해서

써야지 했는데 보니까 putIfAbsent있어서 저거 쓰면 되겠구나 했는데

또 생각해보니 점점 맵에 객체가 쌓이면 메모리가 터질꺼고

결국 맵을 주기적으로 새걸로 바꿔야 하는데

A(123) 객체가 작업도중에 맵이 교체되고 123으로 요청이 들어오면 

결국 똑같은 문제가 발생하는데 좋은방법 없을까.

일단 한가지 생각한 방법은 해당 객체에 레퍼런스 카운팅 역할 하는 변수를

추가해서 일정 주기마다 맵을 순회하면서 이 레퍼런스 카운팅 0인 애들을 지워버리는건데