ํต์ฌ ์์ฝSpring @Component ๋น์ ๊ธฐ๋ณธ์ด ์ฑ๊ธํค์ด๋ผ, ๋น ์์ ์ธ์คํด์ค ํ๋๋ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ชจ๋ ์ค๋ ๋๊ฐ ํจ๊ป ์๋๋ค.๊ณต์ ํ๋์ LinkedHashMap์ ๋๊ณ ์ฌ๋ฌ ์ค๋ ๋๊ฐ ๋์์ ์ด๊ธฐํ·put()ํ๋ฉด ์ด๊ธฐํ ๊ฒฝ์(Race Condition), ๋ด๋ถ ๊ตฌ์กฐ ์์, ๋ฉ๋ชจ๋ฆฌ ๊ฐ์์ฑ ๋ฌธ์ ๊ฐ ํจ๊ป ์๊น๋๋ค. ๊ฐ์ ํ์ผ์ ์ฝ๋๋ค๊ณ ํด์ ์์ ํด์ง์ง ์์ต๋๋ค.ConcurrentHashMap์ put() ํ ๋ฒ ํ ๋ฒ์ ์์ ํ๊ฒ ๋ง๋ค์ด ์ฃผ์ง๋ง, "ํ์ผ ์ ์ฒด๋ฅผ ์ฝ์ด Map ์ ์ฒด๋ฅผ ๋ฐ๊พผ๋ค"๋ ์์ ๋จ์์ ์์์ฑ๊น์ง๋ ๋ณด์ฅํ์ง ์์ต๋๋ค.ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง์ ๋๋ค. synchronized๋ก ํ ๋ฒ์ ํ ์ค๋ ๋๋ง ์คํํ๊ฒ ํ๊ฑฐ๋, ์ง์ญ ๋ณ์ Map์ ์ ๋ถ ์ฑ์ด ๋ค volatile ์ฐธ์กฐ๋ฅผ ํ ๋ฒ์ ๊ต์ฒดํ๋ ๋ฐฉ์..