๊ด€๋ฆฌ ๋ฉ”๋‰ด

โœ๐Ÿป๊ธฐ๋กํ•˜๋Š” ๋ธ”๋กœ๊ทธ

[ JAVA ] ์ธ์Šคํ„ด์Šค, ํž™ ๋ฉ”๋ชจ๋ฆฌ(๋™์  ๋ฉ”๋ชจ๋ฆฌ) ๋ณธ๋ฌธ

Language/Java

[ JAVA ] ์ธ์Šคํ„ด์Šค, ํž™ ๋ฉ”๋ชจ๋ฆฌ(๋™์  ๋ฉ”๋ชจ๋ฆฌ)

์ฉ์‹œํ‚ด 2020. 8. 22. 22:16
728x90

์ธ์Šคํ„ด์Šค

ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ์ฒด ์ƒ์„ฑ์ด ๊ฐ€๋Šฅ, ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ ์ธ์Šคํ„ด์Šค๋ผ ํ•จ

๊ฐ€์žฅ ๋งŽ์ด ํ•˜๋Š” ๋น„์œ  ์˜ˆ์‹œ) ํด๋ž˜์Šค -> ๋ถ•์–ด๋นต ํ‹€, ์ธ์Šคํ„ด์Šค -> ๋ถ•์–ด๋นต 

(instance ์˜์–ด๋‹จ์–ด ๋œป ์ค‘์— ์‚ฌ๋ก€๋ผ๋Š” ๋œป์ด ์žˆ๋Š”๋ฐ ์–ด๋– ํ•œ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•œ ์‚ฌ๋ก€๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ์‰ฌ์šธ ๊ฑฐ ๊ฐ™๋‹ค)

Student studentLee = new Student(); //studentLee๋Š” Student๊ฐ์ฒด ํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜

ํด๋ž˜์Šค๋ช…์œผ๋กœ new ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ์ธ์Šคํ„ด์Šค ๋ฅผ ์ƒ์„ฑ

newํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๋ฉค๋ฒ„ ๋ณ€์ˆ˜ ( ํด๋ž˜์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ )์€ ๊ฐ ์ž๋ฃŒํ˜•์— ํ•ด๋‹นํ•˜๋Š” ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋จ.

 

์ž๋ฐ” ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ

JVM์ด ์‹คํ–‰๋˜๋ฉด ์šด์˜์ฒด์ œ๋Š” JVM์—๊ฒŒ ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•จ ( ์ปดํ“จํ„ฐ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ = ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ = ์ฃผ๊ธฐ์–ต์žฅ์น˜ = (๋ฌผ๋ฆฌ์ ) RAM)

JVM์€ ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‚˜๋ˆ ์„œ ๊ด€๋ฆฌํ•จ

์ถœ์ฒ˜) https://beginnersbook.com/2013/05/jvm/

5๊ฐœ ์ค‘ ๋ˆˆ์—ฌ๊ฒจ๋ด์•ผ ํ•  3๊ฐœ ์˜์—ญ : ํž™, ์Šคํƒ, ๋ฉ”์„œ๋“œ ์˜์—ญ

1. ํž™ ๋ฉ”๋ชจ๋ฆฌ

ํ‚ค์›Œ๋“œ new๋ฅผ ํ†ตํ•ด ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ์ธ์Šคํ„ด์Šค๋Š” heap๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์„ฑ๋จ

ํž™ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๋Š” ์ธ์Šคํ„ด์Šค๋Š” ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋จ

์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ์˜ studentLee๋Š” ๋™์ผํ•˜๊ฒŒ heap ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ด

studentLee.getStudentId(); //heap ๋ฉ”๋ชจ๋ฆฌ์˜ studentLee์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜ studentId๋ฅผ ๊ฐ€์ ธ์˜ด

๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋งŒ heap ์˜์—ญ์— ์žˆ๊ณ  ๋ฉ”์„œ๋“œ๋“ค์€ ๋‹ค๋ฅธ ์˜์—ญ์— ์กด์žฌ

 

heap ๋ฉ”๋ชจ๋ฆฌ์— ๋ถˆ๋ฆฌ์ง€ ์•Š๋Š” ์ธ์Šคํ„ด์Šค๋“ค์€ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์ผ์ •ํ•˜๊ฒŒ ์‚ญ์ œํ•จ

System.out.println(์ฐธ์กฐ ๋ณ€์ˆ˜)

์ถœ๋ ฅ ๊ฒฐ๊ณผ : ํด๋ž˜์Šค ํ’€ ๊ฒฝ๋กœ + jvm์ด ๊ฐ€์ƒ์œผ๋กœ ์ค€ ์ฃผ์†Œ

 


์ฐธ๊ณ )

ํŒจ์ŠคํŠธ ์บ ํผ์Šค - Java ์›น ๊ฐœ๋ฐœ ๋งˆ์Šคํ„ฐ ์˜ฌ์ธ์› ํŒจํ‚ค์ง€ Online. / ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐ•์€์ข… ๊ฐ•์‚ฌ๋‹˜

https://blog.wanzargen.me/17?category=700063

 

 

728x90
๋ฐ˜์‘ํ˜•