[๋ช ํ ์๋ฐ ํ๋ก๊ทธ๋๋ฐ1] 3์ฃผ์ฐจ ๊ฐ์_ํ๊ธฐ
์๋ฐ
1์ฐจ์ ์ ์ฐจ์งํฅ๊ณผ ๊ฐ์ฒด์งํฅ, C์ธ์ด์ ํ๋, ์๋ฐ์ ํ๋
์ ์ฐจ์งํฅ ํ๋ก๊ทธ๋๋ฐ // ์์
์ ์์๋๋ก ํํ, ์์๋๋ก ์คํ
์์
์ ํจ์๋ก ์์ฑํ ํจ์๋ค์ ์งํฉ์ผ๋ก ํ๋ก๊ทธ๋จ ์์ฑ
๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ // ๊ฐ์ฒด๋ค ๊ฐ์ ์ํธ์์ฉ์ผ๋ก ํํ
ํด๋์ค ๋๋ ๊ฐ์ฒด๋ค์ ์งํฉ์ผ๋ก ํ๋ก๊ทธ๋จ ์์ฑ
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์ ์ฐจ์งํฅ๊ณผ ๊ฐ์ฒด์งํฅ ๋ ๊ฐ๋๋ก ๋๋์ด์ง๋ ๊ฒ์ด ์๋๋ค. // ์ ์ฐจ์งํฅ์ ๊ฐ์ฒด์งํฅ์ ๊ฐ๋
์ด ์ถ๊ฐ๋ ๊ฒ
C์ธ์ด์ ํ๋์ ์ข์ ์ด์์ฒด์ ๊ฐ๋ฐ (1970๋
๋ ์ด)
AT&T<์ ํ ๊ตํ๊ธฐ(์ผ์ข
์ ์ปดํจํฐ)<์ด์์ฒด์ (์ผ์ข
์ ์ํํธ์จ์ด)<ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
์๋ฐ์ ํ๋์ IoT ์ฌ๋ฌผ ์ธํฐ๋ท ๊ฐ์ ๊ฐ์ ์ ํ์ ๋ค์ด๊ฐ ์ํํธ์จ์ด ๊ฐ๋ฐ (1990๋
๋)
1. ํ๋ซํผ์ ๋
๋ฆฝ์ ์ธ ์ธ์ด ๊ฐ๋ฐ // ๋ ์จ ์ดํ์ ํ ๋ฒ๋ง ๋ง๋ค๋ฉด ์ฌ๋ฌ ํ๋ซํผ์์ ๋ค ๋์๊ฐ ์ ์๊ฒ ํ๊ธฐ ์ํด, WORA
2. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ ์ ์๋ฒ ๋๋ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ
+) ๊ฐ์ฒด ์งํฅ 100% // 1990๋
๋ ๊ฐ์ฒด์งํฅ ์ดํ
-> ์๋ฐ๋ ๋ชจ๋ ๊ฒ์ ๊ฐ์ฒด๋ก ๋ณธ๋ค.
2์ฐจ์ ํ๋ซํผ ๋ ๋ฆฝ์ฑ
ํ๋ซํผ = ํ๋์จ์ด + ์ด์์ฒด์ // CPU + O/S
์๋ฐ ํ๋ซํผ = ํ๋์จ์ด + ์ด์์ฒด์ + JVM // CPU + O/S + JVM
๋
๋ฆฝ์ (ํธํ์ฑ) = ํ๋ซํผ์ด ๋ฌ๋ผ์ ธ๋ ์คํ๋จ
์ข
์์ (์ข
์์ฑ) = ํน์ ํ ํ๋ซํผ์์๋ง ์คํ๋จ
ํ๋ซํผ์ ํธํ์ฑ์ด ์๋ ์ด์
1. ๊ฐ CPU ๋ง๋ค ๊ธฐ๊ณ์ด๊ฐ ๋ค๋ฅด๋ค.
2. ๊ฐ ์ด์์ฒด์ ๋ง๋ค API๊ฐ ๋ค๋ฅด๋ค.
3. ๊ฐ ์ด์์ฒด์ ๋ง๋ค ์คํํ์ผ ํ์์ด ๋ค๋ฅด๋ค.
์๋ฐ ์์ค ํ์ผ์ ์ปดํ์ผํ ์ค๋ฆฝ์ ์ธ ๋ฐ์ด๋๋ฆฌ ์ฝ๋์ธ ๋ชฉ์ ์ฝ๋ = ๋ฐ์ดํธ ์ฝ๋๊ฐ ์ง์ ์คํ๋๋ ๊ฒ์ด ์๋๋ผ, JVM์ ์ํด ์ธํฐํ๋ฆฌํฐ ๋ฐฉ์์ผ๋ก ๊ฐ๊ฐ์ ํ๋ซํผ์ ๋ง๊ฒ ๋ณํ๋ ๋ค ์คํ๋๋ค.
C/C++ ์ดํ๋ฆฌ์ผ์ด์
์ ํ๋ซํผ์ ์ข
์์
JAVA ์ดํ๋ฆฌ์ผ์ด์
์ ํ๋ซํผ์ ๋
๋ฆฝ์
JVM์ ํ๋ซํผ์ ์ข
์์
3์ฐจ์ ์๋ฐ์ ๊ดํ์ฌ
์๋ฐ ์์คํ์ผ์ ํ์ฅ์ .java
์๋ฐ ์์คํ์ผ์ ์ปดํ์ผํ ํด๋์ค ํ์ผ์ ํ์ฅ์ .class
C/C++ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๋ฐ ์คํ
// ์ฌ๋ฌ ๊ฐ์ ์์ค ํ์ผ๋ก ๋๋์ด ๊ฐ๋ฐํ ๋ค, ์์ค ํ์ผ์ ์ปดํ์ผํ ๋ชฉ์ ํ์ผ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํ์ฌ ํ๋์ ์คํ ํ์ผ๋ก ๋ง๋ฆ, ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ์ ๊ฒฝ์ฐ ์คํ ๋ถ๊ฐ
Java ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๋ฐ ์คํ
// ์ฌ๋ฌ ๊ฐ์ ์์ค ํ์ผ๋ก ๋๋์ด ๊ฐ๋ฐํ ๋ค, ์์ค ํ์ผ์ ์ปดํ์ผํ ๋ฐ์ดํธ์ฝ๋๋ก ์ด๋ฃจ์ด์ง ํด๋์ค ํ์ผ์ ๋งํฌํ์ฌ ํ๋์ ์คํํ์ผ๋ก ๋ง๋๋ ๊ณผ์ ์ด ์์, ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ก ์คํ ๊ฐ๋ฅ
ํด๋์ค ๋ก๋๋ฅผ ํตํด JVM์ด ๋๋ Class Loader ํด๋์ค๋ฅผ ํตํด ๊ฐ๋ฐ์๊ฐ ํ์ํ ํด๋์ค ํ์ผ์ ๋์ ์ผ๋ก ๋ก๋ฉ
// ๋์ ์ ๊ทธ๋ ๊ทธ๋
JDK>JRE>JVM // JDK์ ํต์ฌ์ ์ปดํ์ผ๋ฌ, JRE์ ํต์ฌ์ JVM
๊ฐ๋ฐ ์คํ
JDK์ bin ๋๋ ํ ๋ฆฌ์ ์คํํ์ผ
javac // ์ปดํ์ผ๋ฌ
java // ์๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ ์คํ๊ธฐ(JVM)
์๋ฐ ๋ฐฐํฌํ์ ์ข
๋ฅ
Java SE(Standard Edition) // ๋ฐ์คํฌํ, ์๋ฒ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ํ๋ซํผ
Java ME(Micro Editon) // SE + ์๋ฒ ๋๋ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ํ๋ซํผ
Java EE(Enterprise Edition) // SE + ์ธํฐ๋ท ๊ธฐ๋ฐ ์๋ฒ ๊ฐ๋ฐ ํ๋ซํผ
์๋ฐ API // ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
ํจํค์ง // ์๋ก ๊ด๋ จ๋ ํด๋์ค๋ค์ ๋ฌถ์ด ๋์ ๊ฒ, ๋๋ ํ ๋ฆฌ, ๊ณ์ธต๊ตฌ์กฐ
๋ชจ๋ // ํจํค์ง, ์ด๋ฏธ์ง, XML ํ์ผ ๋ฑ์ ์์๋ค์ ๋ฌถ์ ๋จ์, ํผ์ฆ ์ฐ๊ฒฐํ๋ฏ์ด ์์ฑ
'1. Java ์๋ฐ > 1_0. ์ฑ , ๊ฐ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฐํ๋ก๊ทธ๋๋ฐ1] 6์ฃผ์ฐจ ๊ฐ์_ํ๊ธฐ (0) | 2022.04.23 |
---|---|
[์๋ฐํ๋ก๊ทธ๋๋ฐ1] 5์ฃผ์ฐจ ๊ฐ์_ํ๊ธฐ (0) | 2022.04.23 |
[๋ช ํ ์๋ฐ ํ๋ก๊ทธ๋๋ฐ1] 4์ฃผ์ฐจ ๊ฐ์_ํ๊ธฐ (0) | 2022.04.23 |
[๋ช ํ ์๋ฐ ํ๋ก๊ทธ๋๋ฐ1] 2์ฃผ์ฐจ ๊ฐ์_ํ๊ธฐ (0) | 2022.04.23 |
[๋ช ํ ์๋ฐ ํ๋ก๊ทธ๋๋ฐ1] 1์ฃผ์ฐจ ๊ฐ์_ํ๊ธฐ (0) | 2022.04.23 |