- ์ ๋ฌด ์์ง์ฌํญ ๋ณต์ต
- JVM ๊ฐ์ ๋ณต์ต
1 - 1 ๋ณต์ต
* ์์ 0) ํด๋์ค ํ์ผ ์คํ ๊ฒฝ๋ก
(1) 'jenv' ๋ฑ์ ํตํด java ๋ฒ์ ์ค์
(2) ํ์ฌ ๊ฒฝ๋ก์์ '.java' ํ์ผ ์ปดํ์ผ
- ๊ฒฝ๋ก-> ~/java/com/wanted/java00_classpath'
- ๋ช ๋ น๋ฌธ-> 'javac Example.java'
(3) ์ปดํ์ผ๋ '.class'ํ์ผ ์คํ : 'java com.wanted.java00_classpath.Example00'
* ์์ 1) Single-File Souce-Code Program ~ ๋จ์ผ .javaํ์ผ = ์ปดํ์ผ์์ด ์คํ
JDK 11์์ ์ถ๊ฐ๋ ๊ธฐ๋ฅ
(1) jenv ๋ฑ์ผ๋ก java ๋ฒ์ ์ค์
(2) java Example01.java ๋ช ๋ น์ด๋ก ์ปดํ์ผ ์์ด ๋ฐ๋ก ์คํํ ์ ์๋ค.
JDK 10 ์ดํ ๋ฒ์ : ์ปดํ์ผ ์์ด ์คํํ๋ฉด ์๋ฌ ๋ฐ์ - ClassNotFoundException
๋ค๋ฅธ ํด๋์ค ํ์ผ์ ์ฐธ์กฐํ๋ ๊ฒฝ์ฐ์๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
* ์์ 2) JDK Preview Version ์ ์ฉ ~ ์คํ์ ์ธ ๊ธฐ๋ฅ์ ์ฌ์ฉํด๋ณผ ์ ์๋ค.
* ์์ 3) ํด๋์ค๋ณ ํด๋์ค๋ก๋ ์ถ๋ ฅ
~ ArrayList ํด๋์ค๋ก๋์ ๊ฐ์ด null์ด ๋์ค๋ ์ด์ : ๋ถํธ์คํธ๋ฉ ํด๋์ค๋ก๋๋ ๋ค์ดํฐ๋ธ ์ฝ๋๋ก ์์ฑ๋์ด ์๋ฐ ํด๋์ค๋ก ํ์๋์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ถํธ์คํธ๋ฉ ํด๋์ค๋ก๋ ๋์์ JVM์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์๋ค.
* ์์ 4) ์ปดํ์ผ ํ์ ์์์ 'Constant folding' ๋๋ 'Inlining'
- ์ปดํ์ผ ํ์ ์์๋ Java ์ปดํ์ผ๋ฌ์ ์ํด ์ต์ ํ๋ ์๋ ์๋ค.(์ต์ ํ ๋ฐฉ์์ ๋ฐ๋ผ ๋ค๋ฅด๋ค)
~ ํธ์ถ๋๋ ์์ ์ ํธ์ถ ์ฝ๋์ ๊ฐ์ด ์ง์ ์ฝ์ ๋ '์๋' ์๋ค.
* ์์ 5)
ํด๋์ค ์ด๊ธฐํ ๋ฉ์๋
- clinit : void ๋ฐํ, ํด๋์ค ํ์ผ์ ๋ฒ์ ์ด 51.0 ์ด์์ธ ๊ฒฝ์ฐ ํด๋น ์ธ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ACC_STATIC ํ๋๊ทธ๊ฐ ์ค์ ๋ ๋ฉ์๋
์ธ์คํด์ค ์ด๊ธฐํ ๋ฉ์๋
- init : ํด๋์ค ์์ ์ ์ํ ๊ฒ, void ๋ฐํ
* ์์ 6) ๋ฐ์ดํธ ์ฝ๋ ๋ถ์
'TIL, WIL > TIL๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2023 ์ธํ์ฝ ์ด๋ฒคํธ : ๋ด ์๊ฐํ์ ๋ค์ด์ผ ํ๋ ์ด์ (0) | 2023.07.26 |
---|---|
07.22 TIL : ๊ทธ ๋ฐ์ ์ธํฐ๋ท ํ๋กํ ์ฝ ์ ๋ฆฌ (0) | 2023.07.22 |
06. 12 TIL (0) | 2023.06.12 |
06. 07 TIL (0) | 2023.06.08 |
06. 04 TIL (0) | 2023.06.05 |