- JVM์ ๊ตฌ์กฐ์ Java์ ์คํ๋ฐฉ์ ์ค๋ช
- GC๊ฐ ๋ฌด์์ธ์ง, ํ์ํ ์ด์ ์ ๋์๋ฐฉ์
- ์ปฌ๋ ์ ํ๋ ์์ํฌ
- ์ ๋๋ฆญ
- ์ด๋ ธํ ์ด์
- ์ค๋ฒ๋ผ์ด๋ฉ๊ณผ ์ค๋ฒ๋ก๋ฉ์ด ๋ฌด์์ด๋ฉฐ ์ฐจ์ด์
1. JVM์ ๊ตฌ์กฐ์ Java์ ์คํ๋ฐฉ์ ์ค๋ช
Question
JVM์ด๋ ๋ฌด์์ด๊ณ , ์ด๋ค ๊ตฌ์กฐ๋ก ๋์ด์๋์?
JVM์ Java Virtual Machine์ผ๋ก Java ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. JVM์ ๋ฉ์๋ ์์ญ, ํ ์์ญ, ์คํ ์์ญ, PC ๋ ์ง์คํฐ, ๋ค์ดํฐ๋ธ ๋ฉ์๋ ์คํ์ผ๋ก ๋๋ฉ๋๋ค.
Question
Java ํ๋ก๊ทธ๋จ์ด ์ด๋ป๊ฒ ์คํ๋๋์ง ์ค๋ช ํด๋ณด์ธ์
Java ์ฝ๋๋ ์ปดํ์ผ๋ฌ์ ์ํด ๋ฐ์ดํธ์ฝ๋๋ก ๋ณํ๋๋ฉฐ, JVM์ ์ด ๋ฐ์ดํธ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
Question
JVM์ด ๋ค๋ฅธ ํ๋ซํผ์ ๋ ๋ฆฝ์ ์ธ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
Java ํ๋ก๊ทธ๋จ์ด ๋ ๋ฆฝ์ ์ธ ๋ฐ์ดํธ์ฝ๋์ธ .class ํ์ผ๋ก ์ปดํ์ผ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. Java ์ปดํ์ผ๋ฌ๊ฐ ์์ค ์ฝ๋๋ฅผ ์ปดํ์ผํ ๋ ์์ฑํ๋ ๋ฐ์ดํธ์ฝ๋๋ ํน์ ํ๋ซํผ์ ์ข ์๋์ง ์๊ณ JVM๋ง ์ค์น๋์ด์์ผ๋ฉด ๋์ผํ๊ฒ ์คํ๋ ์ ์์ต๋๋ค.
2. ๊ฐ๋น์ง ์ปฌ๋ ์ ์ด ๋ฌด์์ธ์ง, ํ์ํ ์ด์ ์ ๋์๋ฐฉ์
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฐฉ๋ฒ ์ค ํ๋๋ก, ํ๋ก๊ทธ๋๋จธ๊ฐ ๋์ ์ผ๋ก ํ ๋นํ ๋ฉ๋ชจ๋ฆฌ ์์ญ ์ค ๋ ์ด์ ์ฐ์ด์ง ์๋ ์์ญ์ ์๋์ผ๋ก ์ฐพ์๋ด์ด ํด์ ํ๋ ๊ธฐ๋ฅ
Question
GC์ ์คํ์์ ์?
์ผ๋ฐ์ ์ผ๋ก JVM์ด ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๊ฑฐ๋ ๋ฉ๋ชจ๋ฆฌ ๋์ ์ํ์ด ๊ฐ์ง๋ ๋ ์คํ๋ฉ๋๋ค.
Question
GC๊ฐ ์ด๋ค ์๋ฆฌ์ ์ํด ๋์ํ๋์ง ์ค๋ช ํด์ฃผ์ธ์
GC๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ์๋ํ๋ฅผ ์ํด JVM ๋ด์์ ๋ ์ด์ ์ฐธ์กฐ๋์ง ์๊ฑฐ๋ ์ ๊ทผํ ์ ์๋ ๊ฐ์ฒด๋ฅผ ํ์งํ๊ณ ํ์ํ๋ ์ญํ ์ ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ธ ์๋ฆฌ๋ Mark and Sweep ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. Mark ๋จ๊ณ์์๋ ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค์บํ์ฌ ์์ง ์ฐธ์กฐ์ค์ธ ๊ฐ์ฒด๋ฅผ ๋งํนํ๊ณ , Sweep ๋จ๊ณ์์ ๋งํน๋์ง ์์ ๊ฐ์ฒด๋ ๋ ์ด์ ์ฐธ์กฐ๋์ง ์์ผ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ์์ ํด์ ๋ฉ๋๋ค.
Question
Minor GC์ Major GC์ ์ฐจ์ด์
Minor GC์ Major GC๋ ํ ๋ฉ๋ชจ๋ฆฌ์์ ์๋ก ๋ค๋ฅธ ์์ญ์ ๊ด๋ฆฌํฉ๋๋ค. Minor GC๋ Young Generation์ ๋์์ผ๋ก ์ํ๋ฉ๋๋ค. Young Generation์๋ ์๋ก ์์ฑ๋ ๊ฐ์ฒด๋ค์ด ํ ๋น๋ฉ๋๋ค. Minor GC๋ ์์ฃผ ๋ฐ์ํ๋ฉฐ, ์๊ฐ์ด ์งง๊ณ ํจ์จ์ ์ ๋๋ค. Major GC๋ Old Generation์ ๋์์ผ๋ก ์ํ๋ฉ๋๋ค. Young Generation์์ ์ด์๋จ์ ๊ฐ์ฒด๊ฐ Old Generation์ผ๋ก ์ด๋ํ๋ฉฐ, Stop-the-World ์ด๋ฒคํธ๋ฅผ ์ผ์ผ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ ์ค๋ ๋๋ฅผ ์ผ์์ ์ผ๋ก ์ค๋จ์ํค๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค.
Question
C์ธ์ด์์์ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ฒ๋ฆฌ์ Java์์์ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ฒ๋ฆฌ์ ์ฐจ์ด์
C์ธ์ด๋ free()๊ฐ์ ํจ์๋ฅผ ์ฌ์ฉํด ์ง์ ์ฒ๋ฆฌํด์ผํ์ง๋ง Java์์๋ JVM์ด ์๋์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
3. ์ปฌ๋ ์ ํ๋ ์์ํฌ
๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ํ์คํ๋ ํด๋์ค์ ์ธํฐํ์ด์ค์ ์งํฉ
List
- ๊ฐ์ฒด๋ฅผ ์ผ๋ ฌ๋ก ๋์ด๋์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ๊ฐ์ฒด๋ฅผ ์ธ๋ฑ์ค๋ก ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ธ๋ฑ์ค๋ก ๊ฐ์ฒด๋ฅผ ๊ฒ์, ์ญ์ ํ ์ ์์
Set
- List๋ ์ค๋ณต์ ํ์ฉํ๊ณ ์ธ๋ฑ์ค๋ฅผ ํตํด ๊ฐ์ฒด๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ๋ฉด, Set์ ์ค๋ณต์ ํ์ฉํ์ง ์์ผ๋ฉฐ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ง ์์ (์์ ๋ฌด๊ด)
Map
- key-value ํํ๋ก ๊ฐ์ฒด ์ ์ฅ
- key๋ ์ค๋ณต ์ ์ฅ๋ ์ ์์ง๋ง value๋ ์ค๋ณต ์ ์ฅ ๊ฐ๋ฅ
- ์ ์ฅ ์์๋ฅผ ์ ์งํ์ง ์์
Question
List์ Set์ ์ฐจ์ด์ ์ ๋ฌด์์ธ๊ฐ์?
List๋ ์ค๋ณต์ ํ์ฉํ๋ฉฐ ์์๊ฐ ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํ๊ณ , Set์ ์ค๋ณต์ ํ์ฉํ์ง ์์ผ๋ฉฐ ์์๊ฐ ์์ต๋๋ค.
4. Generic
ํด๋์ค ๋ด๋ถ์์ ์ฌ์ฉํ ๋ฐ์ดํฐ ํ์ ์ ์ธ๋ถ์์ ์ง์ ํ๋ ๊ธฐ๋ฒ, ๊ฐ์ฒด๋ณ๋ก ๋ค๋ฅธ ํ์ ์ ์๋ฃ๊ฐ ์ ์ฅ๋ ์ ์๋๋ก ํจ
String[] array = new String[10];
ArrayList<String> list = new ArrayList<>(10);
Question
Generic์ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
์๋ชป๋ ํ์ ์ด ๋ค์ด์ฌ ์ ์๋ ๊ฒ์ ์ปดํ์ผ ๋จ๊ณ์์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. ํด๋์ค ์ธ๋ถ์์ ํ์ ์ ์ง์ ํด์ฃผ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ํ์ ์ ์ฒดํฌํ๊ณ ๋ณํํด์ค ํ์๊ฐ ์์ด ๊ด๋ฆฌ๊ฐ ํธํฉ๋๋ค. ๋น์ทํ ๊ธฐ๋ฅ์ ์ง์ํ๋ ๊ฒฝ์ฐ ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ์ด ๋์์ง๋๋ค.
Question
์ปฌ๋ ์ ํด๋์ค์์ ์ ๋๋ฆญ์ ์ฌ์ฉํ๋ ์ด์ ๊ฐ ๋ฌด์์ธ๊ฐ์?
ํ์ ์์ ์ฑ์ ๋ณด์ฅํ๊ณ , ์ปฌ๋ ์ ์์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ฌ ๋ ๋ช ์์ ์ธ ํ ๋ณํ์ด ํ์ํ์ง ์์ ์ฝ๋๊ฐ ๊ฐ๊ฒฐํ๊ณ ์ค๋ฅ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ ์ค์ผ ์ ์์ต๋๋ค. ์ด๋ค ํ์ ์ ๊ฐ์ฒด๊ฐ ์ปฌ๋ ์ ์ ์ ์ฅ๋ ์ง ๋ช ์์ ์ด๋ฏ๋ก ์ฝ๋์ ๊ฐ๋ ์ฑ์ด ๋์์ง๋๋ค.
Question
Object๋ฅผ ์ฌ์ฉํ์ง ์๊ณ Generic์ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
Object๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ปฌ๋ ์ ์์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ฌ ๋๋ง๋ค ํ ๋ณํ์ ํด์ผํ๋ฉฐ ๋ฐํ์ ์๋ฌ๋ฅผ ๋ฐ์์ํฌ ์ ์์ต๋๋ค. ๋ฐ๋ฉด ์ ๋๋ฆญ์ ์ฌ์ฉํ๋ฉด ์ปดํ์ผ ์์ ์ ํ์ ์ ๊ฒ์ฌํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์ํ์ ์ค์ผ ์ ์์ต๋๋ค.
5. Annotation
์๋ฐ ์์ค์ฝ๋์ ์ถ๊ฐํ์ฌ ์ฌ์ฉํ ์ ์๋ ์ผ์ข ์ ๋ฉํ ๋ฐ์ดํฐ
Question
Annotaion์ด๋ ๋ฌด์์ด๊ณ , ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ค ๊ฒ์ด ์๋์ง ์์๋ฅผ ๋ค์ด ์ค๋ช ํด์ฃผ์ธ์
Annotation์ ์๋ฐ ์ฝ๋์์ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๋ฉํ๋ฐ์ดํฐ์ ๋๋ค. Annotation์ ์ฌ์ฉํจ์ผ๋ก์จ ์ฝ๋์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๊ณ ์คํ ์๊ฐ์ ๋ถ์ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด @Override๋ ๋ฉ์๋๊ฐ ์์ ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ํ๋ค๋ ๊ฒ์ ๋ํ๋ด๋ฉฐ @Deprecated๋ ๋ฉ์๋๋ ํด๋์ค๊ฐ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์์ ์๋ฏธํฉ๋๋ค. ์คํ๋ง์์๋ @Autowired๋ฅผ ์ฌ์ฉํ์ฌ ์๋์ผ๋ก ์์กด์ฑ์ ์ฃผ์ ํฉ๋๋ค. Annotation์ ํ๋ก๊ทธ๋จ์ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ , ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํฅ์์ํค๋ ์ญํ ์ ํฉ๋๋ค.
Question
Annotation์ ์ฌ์ฉํ ๋ ์ปดํ์ผ ์๊ฐ๊ณผ ์คํ ์๊ฐ์ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ๋๋์?
์ปดํ์ผ ์๊ฐ์ ์ฒ๋ฆฌ๋๋ Annotation์ ์ฝ๋ ๊ฒ์ฆ, ๋ฌธ์ ์์ฑ ๋ฑ์ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด @Override๋ ๋ฉ์๋๊ฐ ์ค์ ๋ก ์ค๋ฒ๋ผ์ด๋ ๋์๋์ง ํ์ธํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฐ ์ฒ๋ฆฌ๋ ๊ฐ๋ฐ ๋จ๊ณ์์ ์ฝ๋ ์ค๋ฅ๋ฅผ ์ค์ฌ์ฃผ๊ณ ์์ ์ฑ์ ๋์ฌ์ค๋๋ค. ์คํ์๊ฐ์ ์ฒ๋ฆฌ๋๋ Annotation์ ํ๋ก๊ทธ๋จ ์คํ ์ค ํด๋น ์ ๋ณด๋ฅผ ์ฝ๊ณ ์ ๋ณด์ ๋ฐ๋ผ ๋์์ ๋ณ๊ฒฝํ ์ ์๊ฒ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์คํ๋ง ํ๋ ์์ํฌ์ @Autowired๋ ์คํ ์๊ฐ์ ์์กด์ฑ ์ฃผ์ ์ ์๋์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ์ด๋ฐ ์ฒ๋ฆฌ๋ ๊ฐ๋ฐ์๊ฐ ์ง์ ์ ์ผ๋ก ๊ด๋ฆฌ ๋ก์ง์ ์์ฑํ์ง ์์๋ ๋์ด ์ฝ๋์ ๋ณต์ก์ฑ์ ์ค์ผ ์ ์์ต๋๋ค.
@Controller, @Service, @Repository, @Component ์ฒ๋ฆฌ ์๊ฐ์?
์ ํ๋ฆฌ์ผ์ด์ ์คํ ์์ ์ธ ๋ฐํ์์ ์ฒ๋ฆฌ๋จ
์ ํ๋ฆฌ์ผ์ด์ ์ด ์์๋ ๋ ์คํ๋ง ์ปจํ ์ด๋๊ฐ annotation์ด ๋ถ์ ํด๋์ค๋ค์ ์ค์บํ๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก bean์ผ๋ก ๋ฑ๋ก
6. ์ค๋ฒ๋ก๋ฉ๊ณผ ์ค๋ฒ๋ผ์ด๋ฉ
์ค๋ฒ๋ก๋ฉ
- ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ๋ค๋ฅธ ๋งค๊ฐ๋ณ์ ๋ชฉ๋ก์ผ๋ก ์ฌ๋ฌ๋ฒ ์ ์ํ๋ ๊ฒ
- ์ฃผ๋ก ๊ฐ์ ๊ธฐ๋ฅ์ ์ํํ์ง๋ง ๋งค๊ฐ๋ณ์ ์ ํ์ด๋ ๊ฐ์์ ๋ฐ๋ผ ๋ค๋ฅธ ์ฒ๋ฆฌ๋ฅผ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉ
- ๋ฐํ ํ์ ๋ง ๋ค๋ฅด๊ณ ๋งค๊ฐ๋ณ์๊ฐ ๋์ผํ๋ค๋ฉด ์ค๋ฒ๋ก๋ฉ์ด ์ฑ๋ฆฝ๋์ง ์์
- ์ปดํ์ผ ์์ ์ ๊ฒฐ์
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
public int add(int a, int b, int c) {
return a + b + c;
}
}
์ค๋ฒ๋ผ์ด๋ฉ
- ์์ ๊ด๊ณ์์ ๋ถ๋ชจ ํด๋์ค์ ๋ฉ์๋๋ฅผ ์์ ํด๋์ค์์ ์ฌ์ ์ํ๋ ๊ฒ
- ๋ถ๋ชจํด๋์ค์์ ์ ์๋ ๋ฉ์๋๋ฅผ ์์ ํด๋์ค์์ ์ฌ๊ตฌํํ์ฌ ๋ค๋ฅธ ๋์์ ํ๋๋ก ๋ณ๊ฒฝํ ์ ์์
- ๋ฉ์๋ ์ด๋ฆ, ๋งค๊ฐ๋ณ์ ๋ชฉ๋ก, ๋ฐํ ํ์ ์ด ๋ถ๋ชจ ํด๋์ค์ ๋ฉ์๋์ ๋์ผํด์ผ ํจ
- ์ ๊ทผ ์ ์ด์๋ ๋ถ๋ชจ ํด๋์ค์ ๋ฉ์๋๋ณด๋ค ์ข์ ๋ฒ์๋ก ๋ณ๊ฒฝํ ์ ์์ (publicโ private ๋ถ๊ฐ)
- @Override ์ ๋ํ ์ด์ ์ ๋ถ์ฌ ์ค๋ฒ๋ผ์ด๋ฉ์ด ์ ๋๋ก ๋์๋์ง ํ์ธ ๊ฐ๋ฅ
- ๋ฐํ์ ์์ ์ ๊ฒฐ์
class Parent {
public void showMessage() {
System.out.println("Hello from Parent");
}
}
class Child extends Parent {
@Override
public void showMessage() {
System.out.println("Hello from Child");
}
}
Question
์ค๋ฒ๋ก๋ฉ๊ณผ ์ค๋ฒ๋ผ์ด๋ฉ์ ์ ์๋ฅผ ์ค๋ช ํด์ฃผ์ธ์
์ค๋ฒ๋ก๋ฉ์ ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ๋งค๊ฐ๋ณ์๋ ํ์ ์ ๋ค๋ฅด๊ฒ ํ์ฌ ์ฌ๋ฌ๋ฒ ์ ์ํ๋๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ค๋ฒ๋ผ์ด๋ฉ์ ๋ถ๋ชจ ํด๋์ค์ ๋ฉ์๋๋ฅผ ์์ ํด๋์ค์์ ์ฌ์ ์ํ๋๊ฒ์ ์๋ฏธํ๋ฉฐ ๋ฉ์๋์ ์๊ทธ๋์ฒ๊ฐ ๋์ผํด์ผ ํฉ๋๋ค.
Question
์ค๋ฒ๋ผ์ด๋ฉ์ ๋ฐ๋์ ์ง์ผ์ผ ํ๋ ๊ท์น์ ๋ฌด์์ธ๊ฐ์?
๋ฉ์๋ ์ด๋ฆ, ๋งค๊ฐ๋ณ์ ๋ชฉ๋ก, ๋ฐํ ํ์ ์ด ๋์ผํด์ผ ํฉ๋๋ค. ๋ถ๋ชจ ํด๋์ค์ ๋ฉ์๋๋ณด๋ค ์ข์ ๋ฒ์์ ์ ๊ทผ ์ ์ด์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ถ๋ชจ ํด๋์ค์ ๋ฉ์๋๊ฐ ๋์ง ์ ์๋ ์์ธ๋ณด๋ค ๋์ ์์ธ๋ฅผ ๋์ง ์ ์์ต๋๋ค.
Question
์ค๋ฒ๋ก๋ฉ์ด ์๋ฐ์ ๋คํ์ฑ์ ์ด๋ค ์ญํ ์ ํ๋์?
์ค๋ฒ๋ก๋ฉ์ ์๋ฐ์ ์ปดํ์ผํ์ ๋คํ์ฑ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ ์ค ํ๋์ ๋๋ค. ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ์ฌ๋ฌ ํํ๋ก ์ ์ํ์ฌ ๋งค๊ฐ๋ณ์์ ํ์ ์ด๋ ๊ฐ์์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅธ ๋ฉ์๋๊ฐ ํธ์ถ๋๋๋ก ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ ์ฐ์ฑ๊ณผ ๊ฐ๋ ์ฑ์ด ํฅ์๋ฉ๋๋ค.
Question
JIT(Just-In-Time) ์ปดํ์ผ๋ฌ์ ์ธํฐํ๋ฆฌํฐ์ ์ฐจ์ด์ ์ ๋ฌด์์ธ๊ฐ์?
์ปดํ์ผ๋ฌ๋ ์ ์ฒด ์์ค ์ฝ๋๋ฅผ ๋ณด๊ณ ๋ช ๋ น์ด๋ฅผ ์์งํ๊ณ ์ฌ๊ตฌ์ฑํ์ง๋ง, ์ธํฐํ๋ฆฌํฐ๋ ์์ค์ฝ๋์ ๊ฐ ํ์ ์ฐ์์ ์ผ๋ก ๋ถ์ํ๋ฉฐ ์คํํฉ๋๋ค. JIT ์ปดํ์ผ๋ฌ๋ ๋ฐ๋ณต ์คํ ์๋๊ฐ ๋น ๋ฅด์ง๋ง ์ด๊ธฐ์๋๊ฐ ๋๋ฆฌ๊ณ , ์ธํฐํ๋ฆฌํฐ๋ ์ด๊ธฐ ์คํ์ ๋น ๋ฅด์ง๋ง ๋ฐ๋ณต ์คํ์ ๋๋ฆฝ๋๋ค.
Question
JIT๊ฐ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ด๋ป๊ฒ ๋๋์ง ์ค๋ช ํ์ธ์.
ํซ์คํ ์ต์ ํ : ์์ฃผ ์คํ๋๋ ์ฝ๋๋ฅผ ๋ค์ดํฐ๋ธ ์ฝ๋๋ก ๋ณํํด ์บ์ฑ ์ธ๋ผ์ด๋ : ์์ฃผ ํธ์ถ๋๋ ๋ฉ์๋๋ฅผ ์ฝ๋์ ์ฝ์ ํด ํธ์ถ ์ค๋ฒํค๋ ์ ๊ฑฐ ๋ฃจํ ์ต์ ํ : ๋ฐ๋ณต๋ฌธ์ ํจ์จ์ ์ผ๋ก ๋ณํํด ์ฑ๋ฅ ํฅ์ ๋ฐํ์ ํ๋กํ์ผ๋ง : ์คํ ํผํด์ ๋ถ์ํด ํ์ํ ๋ถ๋ถ๋ง ์ง์ค ์ต์ ํ
JIT๋ ๋ฐ๋ณต์ ์ผ๋ก ์คํ๋๋ ์ฝ๋์ ์๋๋ฅผ ๋์ฌ ๋ฐํ์์์ ์ต์ ํ๋ ๋ค์ดํฐ๋ธ ์ฝ๋๋ฅผ ์์ฑํด ์ฑ๋ฅ์ ๊ทน๋ํํฉ๋๋ค.