
[Java] JVM์ด๋? ๊ฐ๋
๊ณผ ์๋ฐ ์ปดํ์ผ ๊ณผ์ ์ดํดํ๊ธฐ
ยท
โJava
๋ชฉํ์๋ฐ ์์ค ํ์ผ(.java)์ JVM์ผ๋ก ์คํํ๋ ๊ณผ์ ์ดํดํ๊ธฐJVM์ด๋ ๋ฌด์์ธ๊ฐJVM(Java Virtual Machine): ์๋ฐ ๊ฐ์ ๋จธ์ ์๋ฐ๋ฅผ ์คํํ๊ธฐ ์ํ ๊ฐ์ ๊ธฐ๊ณ(์ปดํจํฐ)Java๊ฐ OS์ ์ข
์๋ฐ์ง ์๊ณ , ์ด๋ OS ์์์๋ ์คํ๋๊ธฐ ์ํด์ ํ์ํ ์ฅ์น์ฆ, OS์ ์ข
์๋ฐ์ง ์๊ณ CPU๊ฐ Java ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๊ฒ ํ๊ธฐ ์ํ ๊ฐ์ ์ปดํจํฐ์ปดํ์ผํ๋ ๋ฐฉ๋ฒ์ผ๋ฐ์ ์ธ ์ธ์ด๋ ์์ค ์ฝ๋๋ฅผ CPU๊ฐ ๋ฐ๋ก ์ดํดํ ์ ์๋ ๊ธฐ๊ณ๋ก ํ ๋ฒ์ ๋ณํํฉ๋๋ค.ํ์ง๋ง ์๋ฐ๋ JVM์ด๋ผ๋ ์ค๊ฐ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๊ธฐ ๋๋ฌธ์ ๋ณํ ๊ณผ์ ์ด ๋ ๋จ๊ณ๋ก ๋๋์ด์ง๋๋ค. 1์ฐจ ๋ณํ: ์์ค ์ฝ๋ → ๋ฐ์ดํธ์ฝ๋(Bytecode)์๋ฐ ์์ค ์ฝ๋(`.java`)๊ฐ ์๋ฐ ๋ฐ์ดํธ์ฝ๋( `.class`)๋ก ๋ณํ๋ฉ๋๋ค.์ด๋ ๋ฐ์ดํธ์ฝ๋๋ CPU๊ฐ..