Class Loader Hierarchy
VM์๋ ์ญํ ์ด ๋ค๋ฅธ ์ฌ๋ฌ ํด๋์ค ๋ก๋๊ฐ ์์ต๋๋ค. ๊ฐ ํด๋์ค ๋ก๋๋ ์ต์์ ํด๋์ค ๋ก๋์ธ bootstrap classloader๋ฅผ ์ ์ธํ๊ณ ์์ ํด๋์ค ๋ก๋(๋ก๋ํ)์ ์์ํฉ๋๋ค.

Bootstrp ClassLoader
Bootstrap Classloader๋ JVM์ด ๋ก๋๋ ๋ ๋งค์ฐ ์ผ์ฐ ์ธ์คํด์คํ๋๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ๋ณธ ์ฝ๋๋ก ๊ตฌํ๋ฉ๋๋ค. Bootstrap Classloader๋ (์๋ฅผ ๋ค์ด rt.jar๋ฅผ ํฌํจ) ๊ธฐ๋ณธ Java API๋ฅผ ๋ก๋ํ๋ ์ญํ ์ ํฉ๋๋ค. ์ ๋ขฐ ์์ค์ด ๋ ๋์ boot ํด๋์ค ๊ฒฝ๋ก์ ์๋ ํด๋์ค๋ง ๋ก๋ํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ผ๋ฐ ํด๋์ค์ ๋ํด ์ํ๋๋ ๋ง์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๊ฑด๋๋๋๋ค.
Extension ClassLoader
Extension Classloader๋ ๋ณด์ ํ์ฅ ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ํ์ค Java ํ์ฅ API์์ ํด๋์ค๋ฅผ ๋ก๋ํฉ๋๋ค.
System Classloader
System Classloader๋ ํด๋์ค ๊ฒฝ๋ก์์ ์ ํ๋ฆฌ์ผ์ด์ ํด๋์ค๋ฅผ ๋ก๋ํ๋ ๊ธฐ๋ณธ ์ ํ๋ฆฌ์ผ์ด์ ํด๋์ค ๋ก๋์ ๋๋ค.
User Defined Classloaders
์ฌ์ฉ์ ์ ์ ํด๋์ค ๋ก๋๋ ์ ํ๋ฆฌ์ผ์ด์ ํด๋์ค๋ฅผ ๋ก๋ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ์ฉ์ ์ ์ ํด๋์ค ๋ก๋๋ ํด๋์ค์ ๋ฐํ์ ์ฌ๋ก๋ฉ ๋๋ ์ผ๋ฐ์ ์ผ๋ก Tomcat๊ณผ ๊ฐ์ ์น ์๋ฒ์ ํ์ํ ๋ก๋๋ ํด๋์ค์ ๋ค๋ฅธ ๊ทธ๋ฃน ๊ฐ์ ๋ถ๋ฆฌ๋ฅผ ํฌํจํ์ฌ ์ฌ๋ฌ ๊ฐ์ง ํน๋ณํ ์ด์ ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
Last updated
Was this helpful?