ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ - Stack & Heap
    ๊ฐœ๋ฐœ์ž ์ •๋ฆฌ๋…ธํŠธ/JAVA 2022. 1. 13. 23:03
    JVM ์ด๋ž€

    .java -compile-> .class (๋ฐ”์ดํŠธ์ฝ”๋“œ)

     

    ์ธ๊ฐ„์ด ์ž‘์„ฑํ•œ ํ”„๋กœ๊ทธ๋žจ์–ธ์–ด์ธ ์ž๋ฐ”๋ฅผ ์ปดํŒŒ์ผํ•˜๋ฉด ํด๋ž˜์Šค๊ฐ€ ๋œ๋‹ค. ํด๋ž˜์Šค๋Š” ๋ฐ”์ดํŠธ ์ฝ”๋“œ์ด๋‹ค.

    ๊ทธ๋Ÿฌ๋‚˜ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋Š” ๊ธฐ๊ณ„์–ธ์–ด๊ฐ€ ์•„๋‹ˆ๋ผ, ์œˆ๋„์šฐ/๋งฅ ๋“ฑ OS์—์„œ ํ•ด์„ํ•  ์ˆ˜ ์—†๋‹ค.

     

    -> .classํŒŒ์ผ์„ ์‹คํ–‰ํ•  ์ปดํ“จํ„ฐ์— ๊น”๋ฆฐ JVM์— ๊ฐ–๋‹ค์ฃผ๋ฉด

    ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ ๋งˆ๋‹ค ํ•ด๋‹น ๊ธฐ๊ณ„์–ธ์–ด๋กœ ๋ฒˆ์—ญํ•ด์ค€๋‹ค.

     

    -> ์™œ ์ค‘๊ฐ„๋‹จ๊ณ„์ธ ๋ฐ”์ดํŠธ์ฝ”๋“œ์˜ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น ๊นŒ?

    OS์ข…์†์ ์ด์ง€ ์•Š๊ณ  JavaํŒŒ์ผ ํ•˜๋‚˜๋งŒ์œผ๋กœ ์–ด๋–ค OS๋“  JVM์œ„์—์„œ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

     

     

     

    JVM ๊ตฌ์กฐ

     

     

     

     

    ์ด ์ค‘์—์„œ Runtime Data Area - Heap & Stack์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

     

    Heap & Stack

    Stack Heap
    ๋ฉ”์†Œ๋“œ ๋‚ด์˜ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•(int, double, long, boolean ๋“ฑ)์˜ ์ง€์—ญ๋ณ€์ˆ˜ ๋ฐ์ดํ„ฐ๊ฐ’์ด ์ €์žฅ๋Œ.
    ๊ฐ์ฒด ์ƒ์„ฑ์‹œ ์ฐธ์กฐ๊ฐ’(์ฃผ์†Œ๊ฐ’)์„ ๊ฐ–๊ณ ์žˆ๋‹ค.
    Objectํƒ€์ž…(๊ฐ์ฒด, ๋ฐฐ์—ด, ๋ฌธ์ž์—ด ๋“ฑ)์˜ ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ’์ด ์ €์žฅ๋Œ.
    ์ด ์˜์—ญ์˜ ์ฐธ์กฐ๊ฐ’์€ Stack์˜์—ญ์ด ๊ฐ–๊ณ ์žˆ๋‹ค.

    ํ•ด๋‹น ๋ฉ”์†Œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹น๋˜๊ณ ,
    ์ข…๋ฃŒ๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•ด์ œ

    Garbage Collection์˜ ๋Œ€์ƒ.
    GC๊ฐ€ ๋ฏธ์ฐธ์กฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•œ๋‹ค.
    ๊ฐ Thread๋Š” ์ž์‹ ๋งŒ์˜ Stack์„ ๊ฐ–๋Š”๋‹ค ๋‹จ ํ•˜๋‚˜์˜ ์˜์—ญ๋งŒ ์กด์žฌ

     

     

     

    test(skills) ๊นŒ์ง€ ์‹คํ–‰ ์‹œ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ƒํ™ฉ.

     

     

     

    test(skills)๊ฐ€ ๋๋‚œ ํ›„ ํ•ด๋‹น ํ•จ์ˆ˜์˜ ๋กœ์ปฌ๋ณ€์ˆ˜๋Š” Stack๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ฐ”๋กœ ์ง€์›Œ์ง„๋‹ค.

     

    immutableํ•œ ์„ฑ์งˆ์„ ๊ฐ€์ง„ String

     

    String์€ ๊ธฐ๋ณธ ํƒ€์ž…(Primitive Type)์ด ์•„๋‹Œ ์ฐธ์กฐ ํƒ€์ž…(Reference Type)์ด๋‹ค.

    ๋ฌธ์ž์—ด์„ abc -> def๋กœ ๋ฐ”๊ฟ€๋•Œ ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ์‹ค์ œ๊ฐ’์ด ๋ฐ”๋€Œ๋Š”๊ฒƒ์ด ์•„๋‹Œ, ์ƒˆ๋กœ์šด ๊ฐ’์ด ์ƒ์„ฑ๋œ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

     

     


    ๋”๋ณด๊ธฐ

    <์ถœ์ฒ˜>

    https://www.youtube.com/watch?v=W2q7W4_3gpY&ab_channel=%EC%84%B1%EC%A7%80%EC%B1%84%EB%84%90 

    https://willseungh0.tistory.com/93

Designed by Tistory.