JAVA

๊ธฐ๋ณธ ๊ฐœ๋…. https://coding-factory.tistory.com/828 JVM โ†’ ์–ด๋А OperatorSystem์—์„œ๋“  Java๋ฅผ ๊ตฌ๋™ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋จธ์‹  (Java virtual Machine)
JAVA Application โ†’ JVM โ†’ OS โ†’ ๊ตฌ๋™ ์ปดํŒŒ์ผ๊ณผ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ JVM์—์„œ OS๋ณ„๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋กœ ๋ณ€ํ™˜.
notion image
1.ย ์ž๋ฐ”๋กœ ๊ฐœ๋ฐœ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด JVM์€ OS๋กœ๋ถ€ํ„ฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
2.ย ์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ(javac)๊ฐ€ ์ž๋ฐ” ์†Œ์Šค์ฝ”๋“œ(.java)๋ฅผ ์ž๋ฐ” ๋ฐ”์ดํŠธ์ฝ”๋“œ(.class)๋กœ ์ปดํŒŒ์ผํ•ฉ๋‹ˆ๋‹ค.
3.ย Class Loader๋ฅผ ํ†ตํ•ด JVM Runtime Data Area๋กœ ๋กœ๋”ฉํ•ฉ๋‹ˆ๋‹ค.
4.ย Runtime Data Area์— ๋กœ๋”ฉ ๋œ .class๋“ค์€ Execution Engine์„ ํ†ตํ•ด ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค.
5.ย ํ•ด์„๋œ ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋Š” Runtime Data Area์˜ ๊ฐ ์˜์—ญ์— ๋ฐฐ์น˜๋˜์–ด ์ˆ˜ํ–‰ํ•˜๋ฉฐ ์ด ๊ณผ์ •์—์„œ Execution Engine์— ์˜ํ•ด GC์˜ ์ž‘๋™๊ณผ ์Šค๋ ˆ๋“œ ๋™๊ธฐํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.
ย 
ย 
JDK Java Development Kit.
๊ฐœ๋ฐœ ์‹œ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค๊ณผ javaca, javadoc๋“ฑ์˜ ๊ฐœ๋ฐœ ๋„๊ตฌ๋“ค์„ ํฌํ•จ. JRE Java Runtime Environment ์ž๋ฐ”๋กœ ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค๋Š”๋ฐ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค๊ณผ ๊ฐ์ข… API, JVM์ด ํฌํ•จ๋˜์–ด ์žˆ์Œ. JRE๋Š” ์ž๋ฐ”๋กœ ๊ฐœ๋ฐœ(์“ฐ๊ธฐ)๋Š” ์•ˆ๋˜๊ณ  ์‹คํ–‰(์ฝ๊ธฐ)๋งŒ ๋œ๋‹ค.
notion image
ย 
notion image
ย 
์–ด๋ށํ„ฐ
Spring