Heap vs Stack
๐ก ๊ฐ ์ฐพ๊ธฐ
๋ณ์์ ํฌ๊ธฐ๊ฐ ์ ํด์ ธ ์๋ค๋ฉด
๋ณ์๊ฐ ์ ์ฅ๋ ์์น๋ถํฐ ํฌ๊ธฐ๋งํผ ๊ฐ์ ๊บผ๋ด๋ฉด ๋๋ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ค.
๋ณ์์ ํฌ๊ธฐ๊ฐ ์ ํด์ ธ ์์ง ์๋ค๋ฉด
๋ณ์๊ฐ ์ ์ฅ๋ ์์น๋ ์์ง๋ง ์ผ๋งํผ ๊บผ๋ด์ผ ๋ ์ง ๋ชจ๋ฅด๋ ๊บผ๋ด๋๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ฒ ๋๋ค.
๐ Stack
- ๋ณ์ ํฌ๊ธฐ๊ฐ ๊ณ ์ ๋จ
- ๊ฐ์ ๊ฐ์ ธ์ค๋ ๊ฒ์ด ๋น ๋ฆ
- ์ฉ๋์ด ์ ์ โ ๋ชจ๋ ์ฝ์ ํฌ๊ธฐ ๋ณ์์ ํฉ์ด ์คํ์ ์ฉ๋์ผ๋ก ์ฌ์ ์ ์ ํ๋ ํฌ๊ธฐ์ ์ฉ๋๋ง์ด ํ์ํ๋ค.
- ์คํ ํฌ๊ธฐ ์ ํ(OS์ ๋ฐ๋ผ ๋ค๋ฆ)
- cpu์ ์ํด ๊ด๋ฆฌ๋๊ณ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋จํธํ๋์ง ์๋๋ค.
๐ Heap
- ๋ณ์ ํฌ๊ธฐ๋ฅผ ๋ชจ๋ฆ(๊ฐ๋ณ ๊ธธ์ด)
- ๊ฐ์ ๊ฐ์ ธ์ค๋ ๊ฒ์ด ๋๋ฆผ
- ์ฉ๋์ด RAM ๋งํผ ํฌ๋ค.
- ๋ณ์๋ฅผ ๋ช ์์ ์ผ๋ก ํ ๋นํ๊ณ ํด์ ํด์ผ ํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ ์ ํ ์์
๐ Data
- ์ ์ญ ๋ณ์์ ์ ์ ๋ณ์๊ฐ ํ ๋น๋จ
- ์์๋ ์ ์ญ ๋ฐฐ์ด, ํด๋์ค ์ ๋ณด๋ ์ฌ๊ธฐ์ ์ ์ฅ์ด ๋๋ค.
๐ Code
- ์คํํ ํ๋ก๊ทธ๋จ์ ์ฝ๋๊ฐ ์ ์ฅ๋๋ ์์ญ
- cpu๋ ์ฝ๋ ์์ญ์ ์ ์ฅ๋ ๋ช ๋ น์ด๋ฅผ ํ ๊ฐ์ฉ ๊ฐ์ ธ๊ฐ์ ์ฒ๋ฆฌํ๋ค.
๋๊ธ๋จ๊ธฐ๊ธฐ