#
Java๋ฅผ ์ค์นํ๋ ค๋๋ฐ...์ปดํจํฐ๋ฅผ ์ด๊ธฐํํ์ฌ Java๋ฅผ ๋ค์ ์ค์นํ๋ ค๊ณ ํ๋ค.
์ผ์ชฝ์ ํ์ฌ ๊ฐ์ฅ ์ต์ ๋ฒ์ ์ธ ๋ฏํ 13.0.1์ด๊ณ , ์ค๋ฅธ์ชฝ์ ๋ณดํธ์ ์ผ๋ก ๋ง์ด ์ฐ์ธ๋ค๊ณ ํ๋ 8๋ฒ์ ์ด๋ค. ๊ทธ๋ฐ๋ฐ ์ ํ๊ธฐ๋ฒ์ด ํ๋๋ 13.0.1์ด๊ณ , ํ๋๋ 8u231์ธ๊ฐ?
#
์๋ฐ ๋ฒ์ ํ๊ธฐ๋ฒ๐ก Java
SE
13.
0.
1
(LTS)
SE
: Standard Edition 13.
: ์ฃผ ๋ฒ์ 0.
: ๊ฐ์ ๋ฒ์ 1
: ์
๋ฐ์ดํธ ๋ฒ์ (LTS)
: ์ฅ๊ธฐ ์ง์ ์๋น์ค(Long Term Support)๋ฅผ ๋ฐ์ ์ ์๋ ๋ฒ์
์๋ ์๋ฐ ๋ฒ์ ์ ํ๊ธฐํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์๋ฅผ ๋ค์ด Java SE 13.0.1 (LTS)์ ์ฃผ ๋ฒ์ ์ด 13์ด๊ณ , ์์ ์ด 1๋ฒ ๋์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
๊ทธ๋ฆฌ๊ณ Java 8๋ฒ์ ๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ Java SE 8u231์ ์ฃผ ๋ฒ์ ์ด 8์ด๊ณ , ์์ ์ด 231๋ฒ ๋์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. (๋๋ฌด ๋ง์์ ์ด๋ ๊ฒ ํ๊ธฐํ๋)
๋ํ ๊ทธ๋ฅ Java 8, Java 13 ๋ฒ์ ์ด๋ผ๊ณ ํธํ๊ฒ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
๊ทธ๋ฆฌ๊ณ Java SE 13์ ์ค์นํ๋ค๋ ๊ฒ์ JDK 13์ ์ค์นํ๋ค๋ ๊ฒ๊ณผ ๋์ผํ ์๋ฏธ์ด๋ค.
8๋ฒ์ ์ ๊ฒฝ์ฐ JDK 1.8์ด๋ผ๊ณ ํ๊ธฐ๋ ํ๋ค.
๊ทผ๋ฐ JDK๊ฐ ๋ฌด์จ ๋ป์ธ๊ฐ?
#
JDK๊ฐ ๋ญ๋ฐ?JDK๋ ์๋ฐ ๊ฐ๋ฐ ๋๊ตฌ(Java Development Kit)์ ์ฝ์์ด๋ค.
JDK๋ Java๋ฅผ ์คํํ๊ธฐ ์ํ ํ๊ฒฝ์ธ JRE์ ํจ๊ป + ๊ฐ๋ฐ์ ์ํด ํ์ํ ๋๊ตฌ(javac, java ๋ฑ)๋ค์ ๋ชจ๋ ํฌํจํ๋ ์ด๋ฅธ๋ฐ Java Platform์ด๋ค.
Java๋ก ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ์ํด์๋ ๋ฐ๋์ JDK๋ก ์ค์นํด์ผ ํ๋ค!
๊ทธ๋ผ JRE๋?
#
JRE๋ ๋ญ๋ฐ?JRE๋ ์๋ฐ ์คํํ๊ฒฝ(Java Runtime Environment)์ ์ฝ์์ด๋ค.
JRE๋ JVM ์ด ์๋ฐ ํ๋ก๊ทธ๋จ์ ๋์์ํฌ ๋ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ๋ค๊ณผ ๊ธฐํ ํ์ผ๋ค์ ๊ฐ์ง๊ณ ์๋ค. JRE๋ JVM์ ์คํํ๊ฒฝ์ ๊ตฌํํ๋ค๊ณ ํ ์ ์๋ค.
์์ฝํ๋ฉด JVM + ๋ฐํ์์ ์ฌ์ฉํ๋ ๋ค๋ฅธ ํ์ผ๋ค(๋ผ์ด๋ธ๋ฌ๋ฆฌ)
๊ทธ๋ผ JVM์?
#
JVM์ ๋ญ๋ฐ?JVM์ ์๋ฐ ๊ฐ์๋จธ์ (Java Virtual Machine)์ ์ฝ์์ด๋ค.
JVM์ ์๋ฐ ๋ฐ์ด๋๋ฆฌ ํ์ผ(.class)์ ์คํํ ์ ์๋ค. ๋ํ JVM์ ํ๋ซํผ์ ์์กด์ ์ด๋ค. ์ฆ ๋ฆฌ๋ ์ค์ JVM๊ณผ ์๋์ฐ์ฆ์ JVM์ ๋ค๋ฅด๋ค. ๋จ, ์ปดํ์ผ๋ ๋ฐ์ด๋๋ฆฌ ์ฝ๋๋ ์ด๋ค JVM์์๋ ๋์์ํฌ ์ ์๋ค.
JVM์ ๋ค์๊ณผ ๊ฐ์ ์ญํ ์ ํ๋ค.
๋ฐ์ด๋๋ฆฌ ์ฝ๋๋ฅผ ์ฝ๊ณ (Loads code)
๋ฐ์ด๋๋ฆฌ ์ฝ๋๋ฅผ ๊ฒ์ฆํ๊ณ (Verifies code)
๋ฐ์ด๋๋ฆฌ ์ฝ๋๋ฅผ ์คํํ๊ณ (Executes code)
์คํํ๊ฒฝ(Runtime Environment)์ ๊ท๊ฒฉ์ ์ ๊ณตํ๋ค. (Provides runtime environment)
๐ก ์ด๋ ํ ์ฅ๋น์์๋ ์ง ์คํ๋ ์ ์๋๋ก ๊ธฐ๋ณธ ํ๊ฒฝ์ ์ ๊ณตํด ์ค๋ค.
#
๊ทธ๋ฆผ์ผ๋ก ์ ๋ฆฌ๊ทธ๋ฆผ์ผ๋ก ์์ฝํ์๋ฉด ์ด๋ฌํ๋ค.
#
Reference๐[ํผ์ ๊ณต๋ถํ๋ ์๋ฐ] Java 8/11 ๋ค์ด๋ก๋ & ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ ํ๊ธฐ(JDK)
๐[์ ํ ํฌ ์๋ฐ] JVM, JRE, JDK์ ์ฐจ์ด
๐์๋ฐ ์ํํธ์จ์ด(JRE, JDK, Server-JRE) ์ฐจ์ด