JDK๋? (Java Development Kit)
์๋ฐ ๊ธฐ๋ฐ์ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๊ณ ์คํํ๋ ๋ฐ ํ์ํ ๋๊ตฌ๋ค๋ก ์ด๋ฃจ์ด์ง ์ํํธ์จ์ด ํจํค์ง์ด๋ค. ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(library)์ ์ปดํ์ผ๋ฌ(compiler), ๊ทธ๋ฆฌ๊ณ ์คํํ๊ฒฝ(runtime environment) ๋ฑ์ด ํ์ํ๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ : ์์ฃผ ์ฌ์ฉํ๋ ์ฝ๋๋ฅผ ๋ชจ๋๊ณผ ํจํค์ง๋ก ๋ง๋ค์ด ๋์ ๋๊ตฌ ๋ชจ์
์ปดํ์ผ๋ฌ : ์ฌ๋์ด ์์ฑํ ์ฝ๋๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ์ธ์ด์ ๊ฐ๊น์ด ์ฝ๋๋ก ๋ฒ์ญํด์ฃผ๋ ๋๊ตฌ
์คํํ๊ฒฝ : ์ปดํ์ผ๋ ์์ ๋ฌผ์ ์ค์ ๋ก ๊ตฌ๋ํด์ฃผ๋ ํ๊ฒฝ
JDK ๊ตฌ์ฑ์์
- ์๋ฐ ์ปดํ์ผ๋ฌ(compiler) : javac.exe
- ์๋ฐ ๋ฐํ์ ํ๊ฒฝ(Java Runtime Environment, JRE) : ์๋ฐ ๊ฐ์ ๋จธ์ (Java Virtual Machine, JVM), JIT ์ปดํ์ผ๋ฌ(JIT compiler), ๊ฐ๋น์ง ์ฝ๋ ํฐ(garbage collector), ๋ก๋(loader), ๋ณด์ ๋๊ตฌ ๋ฑ
- ์๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(library)
- ๋๋ฒ๊ฑฐ(debugger)
javac.exe๋ ์๋ฐ ์ฝ๋ ํ์ผ(.java)์ ์๋ฐ ๋ฐ์ดํธ ์ฝ๋(Java Bytecode) ํ์ผ(.class)๋ก ๋ณํํด์ฃผ๋ ์๋ฐ ์ปดํ์ผ๋ฌ์ด๋ค. ์ฌ๋์ด ์์ฑํ ๊ณ ์์ค(high-level language) ์ธ์ด๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ์ ์์ค(low-level language) ์ธ์ด๋ก ๋ฒ์ญํด์ฃผ๋ ๊ฒ.
์๋ฐ ๋ฐ์ดํธ ์ฝ๋๋ ์ปดํจํฐ๋ผ๋ ๋ฌผ๋ฆฌ์ ๊ธฐ๊ณ๊ฐ ์๋๋ผ ๊ฐ์ ๊ธฐ๊ณ์ธ JVM์ด ์ฌ์ฉํ๋ ์ค๊ฐ ์ฝ๋์ด๋ค.
์๋ฐ ์ฝ๋ ํ์ผ์ ์๋ฐ ๋ฐ์ดํธ ์ฝ๋๋ก ๋ณํํ๋ ์ค๊ฐ ๊ณผ์ ์ ๊ฑฐ์น๋ฉด, ์ปดํจํฐ ๊ธฐ์ข ์ด๋ ์ด์์ฒด์ ์ ์๊ด์์ด ์๋ฐ ํ์ผ์ ์คํํ ์ ์๊ฒ ๋๋ค. ๊ฐ์ ๋จธ์ ์ด ๋ฐ์ดํธ ์ฝ๋๋ผ๋ ์ผ์ข ์ ํ๋ซํผ ๊ณต์ฉ์ด๋ฅผ ์๋ก ๋ค๋ฅธ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ํ๋ซํผ์ ๋ค์ ๋ฒ์ญํด์ฃผ๋ ์ญํ ์ ํ๊ธฐ ๋๋ฌธ.
- ์๋ฐ ๋ฐ์ดํธ ์ฝ๋ ์ปดํ์ผ์ด ๋๋๋ฉด ๋ณธ๊ฒฉ์ ์ผ๋ก ์๋ฐ ๋ฐ์ดํธ ์ฝ๋๋ฅผ ์คํํ๋ ์์ ์์
- ์๋ฐ ๋ฐ์ฒ(java.exe)๋ JVM์ ๊ตฌ๋์ํจ๋ค. (์ด ์์ ์ cmd์ java .class ํ์ผ๋ช ์ ์ ๋ ฅํ๋ ๊ฒ๊ณผ ๊ฐ๋ค.)
- ์๋ฐ ๋ฐ์ดํธ ์ฝ๋ ํ์ผ(.class)์ด JVM์ ๋ก๋๋๊ณ , ๋ณด์ ํ์ธ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
- ๊ทธ ํ JRE์ JIT์ปดํ์ผ๋ฌ๋ ์ด ํด๋์ค ํ์ผ์ ์ปดํจํฐ์๊ฒ ๊ธฐ๊ณ์ด๋ก ํ ์ค์ฉ ๋ฒ์ญํด์ค๋ค.
๐ก
์ปดํจํฐ๋ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ์ด์ง ์ฝ๋(binary code)๋ง ์ดํดํ ์ ์๋ค.
์ค๋ผํด JDK ์ค์น
๋ด๊ฐ ๋ค์ด๋ก๋ํ ์ค๋ผํด JDK๋ JDK8(jdk1.8)์ด๋ค. JDK 8์ JAVA SE 8 ๋๋ JAVA 8 ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
๋ฒ์ ์ ๋ด๊ฐ ์ฌ์ฉํ๊ณ ์๋ ์ด์์ฒด์ ์ bit๋ฅผ ์ฒดํฌํด์ผํ๋ค.
๐ก
x86 / x64๋? 32bit / 64bit ์ ๋ปํ๋ค. x86์ผ๋ก ํ์๋ ์ด์ ๋ ๋ฐ๋ก PC ์นฉ์
์ ํ๋ฒ ๋๋ฌธ์ด๋ผ๊ณ ํ๋ค. 80~86์ด๋ผ๋ ์ซ์๋ฅผ ์ธํ
32๋นํธ์ดํ ๊ณ์ด ์ ํ๋ช
์ ๋ถ์๊ธฐ ๋๋ฌธ.
x86์ ์ธํ ์์ 1978๋ ์ ๊ฐ๋ฐํ ์ธํ 8086(80386, 80486, 80586)์ ์ ์ฉ๋ ์ํคํ ์ณ์ด์, ๊ทธ ํธํ ํ๋ก์ธ์ ๋๋ ํ์์์ ์ด๋ฅด๋ ๋ง์ธ๋ฐ 1978๋ ์ ์ถ์๋์ด 40๋ ์ด ์ง๋ ๊ต์ฅํ ์ค๋๋ ์ํคํ ์ณ์ด์ง๋ง ์ดํ ์ถ์๋ ํ๋ก์ธ์๋ค์ 8086์ ๋ช ๋ น์ด ์ธํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ํ์ฅ๋์ด ์ด๋ฌํ ์ด์ ๋ก x32๋ผ๋ ์ฉ์ด๋ก 32๋นํธ cpu๋ฅผ ํ์ํ์ง ์๊ณ x86 ์ด๋ผ๊ณ ํ๊ธฐํ๊ฒ ๋ ๊ฒ์ด๋ค.
์ค๋ผํด ํํ์ด์ง์์ ๋ค์ด ๋ฐ๊ณ ๋๋ฉด .exeํ์ผ์ด ์๊ธธ ๊ฒ์ด๋ค.
ํด๋น ํ์ผ์ ์คํํด ์ค์น๋ฅผ ์งํํ ์ ์๋ค.
์ค์น๊ฐ ์๋ฃ๋๊ณ ๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝํ์ง ์์๋ค๋ฉด C:\Program Files\Java ์์น์ ํด๋๊ฐ ์๊ฒผ์ ๊ฒ์ด๋ค.
'๐ผ > โ ๊ธฐ๋ณธ ์ค์น' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CentOS ์ค์น (0) | 2023.07.25 |
---|---|
VMware ์ค์น (0) | 2023.07.24 |
DBMS ์ค์น (Oracle19c) (0) | 2023.07.24 |
ํ๊ฒฝ๋ณ์ (0) | 2023.07.24 |
WAS ์ค์น ๋ฐ ์คํ (0) | 2023.07.24 |