์ปดํ์ผ์ ํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด๋ค.
์ปดํ์ผ์ ์ธ๊ฐ์ด ์ดํดํ๊ธฐ ์ฌ์ด ์ธ์ด๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ ๊ณผ์ ์ด๋ค.
์ปดํจํฐ๋ ์ฌ์ค ๋ฐ๋ณด์ด๋ค.
public static void main(String[] args){ System.out.println("Hello World"); }
์ ์ฝ๋๋ฅผ ์ปดํ์ผํ๋ฉด ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ๋ฐ์ดํธ ์ฝ๋๋ก ๋ฐ๊ฟ์ค๋ค.
01100000011110101
100101010101111100
00001101010101010
๋ฐ์ด๋๋ฆฌ์ฝ๋๋ 0๊ณผ 1๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ ์ฝ๋์ด๋ค.
๋ฐ์ดํธ๋ 0๊ณผ 1์ ๋ํ๋ด๋ ๋จ์์ด๋ค.
์ฆ, ๊ฐ์ ๋ง์ด๋ค.
C์ธ์ด ๊ฐ์ ๊ฒฝ์ฐ์ C์ธ์ด ์ปดํ์ผ๋ฌ ํ๋๊ฐ ์ผ์ ๋ง๋ค์ด์ ์๋์ฐ์ ๋งฅ๊ณผ ๋ฆฌ๋
์ค์๊ฒ ๊ฐ๊ฐ ์ฃผ๊ฒ ๋๋ฉด ์๋์ฐ๋ ์ดํด๋ฅผ ํด์ Hello World
๋ฅผ ์ถ๋ ฅํ๋๋ฐ ๋งฅ๊ณผ ๋ฆฌ๋
์ค๋ ์ถ๋ ฅํ์ง ์์ ์ ์๋ค.
์ด์ฒ๋ผ C์ธ์ด ๊ฐ์ ๊ฒฝ์ฐ ๊ฐ๊ฐ ๋ค๋ฅธ ์ปดํ์ผ๋ฌ๊ฐ ํ์ํ๋ค.
0๊ณผ 1๊ณผ ์ด์์ฒด์ ์ฌ์ด์์ ๋์ ํธํ์์ผ์ฃผ๋ ์ญํ ์ ํ๋ค.
์ฆ, JVM์ ๊ฑฐ์ณ์ ๊ฐ๊ธฐ ๋๋ฌธ์ JAVA ๊ฐ์ ๊ฒฝ์ฐ๋ ์ปดํ์ผ๋ฌ ํ๋๋ง ์์ผ๋ฉด ๋๋ค. ์ด์งํผ ๋๊ฐ์ 0๊ณผ 1์ ๊ฐ์ง๊ณ JVM์ด ๊ฐ๊ฐ์ ์ด์์ฒด์ ๋ง๊ฒ ์์์ ๋ฒ์ญํด ์ค ๊ฒ์ด๋ค.
๊ฒฐ๋ก , OS ๋ง๋ค ๋ค๋ฅธ ์ปดํ์ผ๋ฌ๊ฐ ํ์ํ์ง๋ง JAVA๋ JVM์ด 0๊ณผ 1์ OS ๋ง๊ฒ ๋ฒ์ญํด์ค๋ค. ์ด JVM์ ์ธ๊ธฐ๊ฐ ์๋นํด์, JAVA ์ธ์ ๋ค๋ฅธ ์ธ์ด์์๋ ์ฌ์ฉํ๊ณ ์๋ค.
JVM์ ๋๊ฐ์ JAVA ๋ฐ์ดํธ ์ฝ๋๋ฅผ OS ๋ง๋ค ๋ค๋ฅด๊ฒ ํด์ํด์ฃผ๋ ์น๊ตฌ๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
JVM < JRE <JDK ์์๋ก ํฌํจ๊ด๊ณ์ด๋ค.
JDK๋ฅผ ์ค์นํ๋ฉด JRE์ JVM๋ ํจ๊ป ์ค์น๋๋ค.
์ฆ, JAVA์ ๋ฒ์ = JDK์ ๋ฒ์ ์ด ๋๋ค.
์๋ฐํ๋ก๊ทธ๋จ ์คํ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ๋ฑ ์์
์ถ๋ ฅํ ๋system.out.println()
๊ณผ ๊ฐ์ ์ด๋๊ฐ์ ๋ค์ด๊ฐ ์๋๊ฑฐ๋ฅผ ๊ฐ๋ค ์ฐ๋ ๊ฑฐ๊ณ '์ด ๋ฌธ๋ฒ์ ์ฌ์ฉํ๋ฉด ์ถ๋ ฅํ ์ ์์ด!' ๋ผ๊ณ ๋๊ตฐ๊ฐ ํด๋น ๋ฌธ๋ฒ์ ๋ง๋ค์ด๋์ผ ๋๋๊น ํด๋น ๋ฌธ๋ฒ๋ค์ด ๋ค์ด์๋ ๊ณณ์ด JRE๋ผ๊ณ ์๊ฐํด์ฃผ์๋ฉด ๋๋ค.
JDK์๋ ๋ฒ์ ์ด ์๊ณ ,
๊ฐ ๋ฒ์ ๋ณ๋ก ์๋ก์ด ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๊ฑฐ๋ ๊ธฐ์กด ๊ธฐ๋ฅ์ด ์ฌ๋ผ์ง๋ค.
ํ๋ก๊ทธ๋จ์๋ ํน์ดํ๊ฒ LTS(Long Time Support)๋ผ๋ ๋ฒ์ ์ด ์๋ค.
์ค๋ ์จ๋ ๋๋ ๋ฒ์ , ์ฐ๋ฆฌ๊ฐ ์ค๋ ์ง์ํ ๊ฒ์~ = LTS
JDK์๋ ์ข
๋ฅ๊ฐ ์๊ณ ,
๊ธฐ๋ฅ ์์ฒด๋ ๋ชจ๋ ๋์ผํ๋ ์ฑ๋ฅ๊ณผ ๋น์ฉ์ ์ฝ๊ฐ์ ์ฐจ์ด๊ฐ ์์ ์ ์๋ค.
Oracle JDK : ์ค๋ผํด์์ ๋ง๋ JDK, ๊ฐ์ธ์๊ฒ ๋ฌด๋ฃ ๊ธฐ์
์ฉ์ ์ ๋ฃ
Open JDK : Oracle JDK์ ๋น์ทํ ์ฑ๋ฅ , ์ธ์ ๋ ๋ฌด๋ฃ