JIT ์ปดํ์ผ๋ฌ๋ ๋ฌด์์ธ๊ฐ?
JIT๋ Just-In-Time์ ์ฝ์ด๋ก '์ฆ์'๋ผ๋ ๋ป์ ๋๋ค. JIT ์ปดํ์ผ๋ฌ๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ ๋จผ์ ์๋ฐ์์ ์ปดํ์ผ๊ณผ ๋ฐํ์์ด ์ด๋ค ์์ผ๋ก ์ฒ๋ฆฌ๊ฐ ๋๋์ง๋ฅผ ๋จผ์ ์ดํดํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ์๋ฐ ์ฝ๋๋ฅผ ์ ๋ ฅํ๊ณ ์คํ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์ณ์ ์ฒ๋ฆฌ๊ฐ ๋ฉ๋๋ค.
- Java ์ฝ๋๋ JavaCompiler๋ฅผ ํตํด ByteCode๋ก ๋ณํ๋๋ค.
- ์ธํฐํ๋ฆฌํฐ๋ฅผ ํตํด ํ ์ค ํ ์ค ํด๋น OS์์ ์ดํดํ ์ ์๋ ๊ธฐ๊ณ์ด(native code)๋ก ๋ฒ์ญ๋๋ค.
์ด๋ ๊ฒ Java๋ ์ปดํ์ผ๊ณผ ์ธํฐํ๋ฆฌํฐ์ ๋ ๊ฐ์ง ๋ฐฉ์์ ๋ณํํด์ ์ฌ์ฉํ๋ ์ธํฐํ๋ฆฌํฐ(Interpreter) ๋ฐฉ์๊ณผ ์ปดํ์ผ(Compile) ๋ฐฉ์์ด ํผํฉ๋ ์ธ์ด์ ๋๋ค.
ํ์ง๋ง ์ด๋ฌํ ๋ฐฉ์์๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ๋งค๋ฒ ์ปดํ์ผ์ ํตํด Javaํ์ผ์ ByteCode๋ก ๋ณํํ ํ ๋ค์ ์ธํฐํ๋ฆฌํฐ๋ฅผ ํตํด ํ ์ค ํ ์ค ๊ธฐ๊ณ์ด๋ก ๋ณํํ๋ ์์ ์ ์๋๋ฉด์์ ๋งค์ฐ ๋นํจ์จ์ ์ด์์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด JIT ์ปดํ์ผ๋ฌ๊ฐ ์๊ฒผ์ต๋๋ค.
์ ์ด๋ฏธ์ง๋ ํด๋น ์์์ ์บก์ณ๋ณธ์ ๋๋ค. ์ ๋ณด์๋ฉด 4, 5, 6๋ฒ์ Display()๋ผ๋ ๋ฉ์๋๊ฐ ์์ค์ฝ๋์ ์ค๋ณต๋์ด ์ ํ์๊ณ , ์ด๋ฅผ ์ปดํ์ผ๋ฌ๊ฐ ByteCode๋ก ๋ณํํ์ต๋๋ค. ์ธํฐํ๋ฆฌํฐ๊ฐ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๊ธฐ ์ํด ByteCode๋ฅผ ์ดํ ๋ ์๋๋ ์ค๋ณต๋ 3๊ฐ์ Display() ๋ฉ์๋๋ฅผ ์ ๋ถ ํ๋์ฉ ๋ฒ์ญํ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง JIT ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ ์ด๋ฏธ์ง์ ๊ฐ์ด ๋จผ์ JIT ์ปดํ์ผ๋ฌ๊ฐ ์์ค ์ฝ๋ ์ ์ฒด๋ฅผ ํ์ธํ ํ ์ค๋ณต๋ ๋ถ๋ถ์ ๋ฏธ๋ฆฌ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญ์์ผ์ ์ ์ฅํด๋์ต๋๋ค. ์ดํ ์ธํฐํ๋ฆฌํฐ ๋ฐฉ์์ผ๋ก ๋ฒ์ญํ๋ค๊ฐ ์ค๋ณต๋ ๋ถ๋ถ์ ๋ง๋๊ฒ ๋๋ฉด ์ด๋ฏธ ๋ณํ๋ ๊ธฐ๊ณ์ด ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ผ์ ํจ์ฌ ์๊ฐ์๋ ๋ฉด์์ ๊ฐ์ ๋ ๋ชจ์ต์ ๋ณด์ฌ์ค๋๋ค.
ํ์ง๋ง ์ด ๊ณผ์ ์ ์ํํ๊ธฐ ์ํด์๋ ์ด๋ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ก์๋๊ฑฐ๋ ํ๋ ์ ํ ์์ ๋ค์ด ์์ด์ ์ด๊ธฐ ์คํ์๋๋ ๋ค์ ๋๋ฆด ์๋ ์์ต๋๋ค. ํ์ง๋ง ๊ทธ ์ดํ๋ก๋ ByteCode๋ฅผ ์ฌ์ฉํ ๋๋ง๋ค ๊ธฐ๊ณ์ด(native code)๋ก ๋ณํํ๋ ์์ ์ด ๋ ๋ค์ด ์คํ ์๋๊ฐ ๋ง์ด ํฅ์๋ฉ๋๋ค. ๋ํ ์ค๋ณต๋ ์ฝ๋๊ฐ ๋ณ๋ก ์์ด ์ฝ๋๊ฐ ์ฌ ์ฌ์ฉ๋ ์ผ์ด ์๊ฑฐ๋ ๊ท๋ชจ๊ฐ ์์ ํ๋ก๊ทธ๋จ์์๋ ์คํ๋ ค ์ด๊ธฐ ์คํ ์๋๋ฅผ ๋ ์ก์๋จน์ด ๋ฐฐ๋ณด๋ค ๋ฐฐ๊ผฝ์ด ๋ ํฐ ๊ฒฝ์ฐ๊ฐ ์๊ธธ ์๋ ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก๋ ๋น ๋ฅธ ์๋๋ฅผ ๋ณด์ฌ์ค๋๋ค.
'BackEnd๐ฑ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ์ธํฐํ์ด์ค(interface) ์ด ์ ๋ฆฌ (0) | 2022.03.30 |
---|---|
[Java] super์ super()์ ๊ฐ๋ (0) | 2022.03.24 |
[Java] static ๊ณผ instance์ ์ฐจ์ด (0) | 2022.03.21 |
[Java] JVM์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์ฑ์์์ ์์ญ์ ๊ดํ ๊ณ ์ฐฐ (0) | 2022.03.18 |
[Java] ์ด๋ฆ ๋ถ์ ๋ฐ๋ณต๋ฌธ(Labeled-Loop) (0) | 2022.03.13 |
[Java] ์ผํธ-์ํท (Short-Circuit) (4) | 2022.03.08 |
๋๊ธ