๊ฐ๋น์ง ์ปฌ๋ ์ ์ด๋
ํ๋ก๊ทธ๋จ์์ ๋ ์ด์ ์ฌ์ฉํ์ง ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋์ผ๋ก ์ ๋ฆฌํ๋ ๊ฒ.
=> JAVA, C#, JAVASCRIPT ๋ฑ์ด ์๋ค.
๊ฐ๋น์ง ์ปฌ๋ ์ ๋ฐฉ๋ฒ
โ๏ธ ํธ๋ ์ด์ฑ : ํ ๊ฐ์ฒด์ flag๋ฅผ ๋๊ณ , ๊ฐ๋น์ง ์ปฌ๋ ์ ์ฌ์ดํด๋ง๋ค flag์ ํ์ ํ ์ญ์ ํ๋ mark and sweep ๋ฐฉ๋ฒ
๊ฐ์ฒด์ in-use flag๋ฅผ ๋๊ณ , ์ฌ์ดํด๋ง๋ค ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์๊ฐ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ์ถ์ ํด์ ์ฌ์ฉ ์ค์ธ์ง ์๋์ง๋ฅผ ํ์(mark)ํ๋ค.
๊ทธ๋ฆฌ๊ณ ํ์๋์ง ์์ ๊ฐ์ฒด๋ฅผ ์ญ์ (sweep)ํ๋ ๋จ๊ณ๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ๋ค.
โ๏ธ ๋ ํผ๋ฐ์ค ์นด์ดํ : ํ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ ๋ณ์์ ์๋ฅผ ์ถ์ ํ๋ ๋ฐฉ๋ฒ
๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ ๋ณ์๋ ์ฒ์์๋ ํน์ ๋ฉ๋ชจ๋ฆฌ์ ๋ํด ๋ ํผ๋ฐ์ค๊ฐ ํ๋๋ฟ์ด์ง๋ง, ๋ณ์์ ๋ ํผ๋ฐ์ค๊ฐ ๋ณต์ฌ๋ ๋๋ง๋ค ๋ ํผ๋ฐ์ค ์นด์ดํธ๊ฐ ๋์ด๋๋ค. ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ณ ์๋ ๋ณ์์ ๊ฐ์ด ๋ฐ๋๊ฑฐ๋, ๋ณ์ ์ค์ฝํ๋ฅผ ๋ฒ์ด๋๋ฉด ๋ ํผ๋ฐ์ค ์นด์ดํธ๋ ์ค์ด๋ ๋ค.
๋ ํผ๋ฐ์ค ์นด์ดํธ๊ฐ 0์ด ๋๋ฉด, ๊ทธ ๊ฐ์ฒด์ ๊ด๋ จํ ๋ฉ๋ชจ๋ฆฌ๋ ๋น์ธ ์ ์๋ค. (๋ ํผ๋ฐ์ค ์นด์ดํธ๊ฐ 0์ด ๋๋ค๋ ๋ง์ ์๋ฌด๋ ๊ทธ ๊ฐ์ฒด์ ๋ํ ๋ ํผ๋ฐ์ค๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๋ค๋ ๋ง๊ณผ ๊ฐ์.)
๋ฉ๋ชจ๋ฆฌ ์์กด ์ฃผ๊ธฐ (ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ด๊ณ์์ด ๋น์ทํจ)
1. ํ์ํ ๋ ํ ๋นํ๋ค.
2. ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค.
3. ๋ ์ด์ ํ์ํ์ง ์์ผ๋ฉด ํด์ ํ๋ค.
๐ ์๋ชป๋ ๊ฐ๋ ์ ๋ฌ์ด ์๋ค๋ฉด ๋๊ธ ๋ถํ๋๋ฆฝ๋๋ค. ์ ์ ์ฑ์ฅ์ ํฐ ๋์์ด ๋ฉ๋๋ค๐ค
'๐ฌComputer Science > ๋คํธ์ํฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
GraphQL์ด๋, ํน์ง, ์ฅ๋จ์ , REST API์ ๋น๊ต (0) | 2022.08.02 |
---|---|
์น ์บ์๋, ์บ์์ ์ฅ์ , ์บ์๊ฐ ์ฌ์ฉ๋๋ ๊ณณ (0) | 2022.08.01 |
์ปดํจํฐ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ, ์ค์์ฒ๋ฆฌ์ฅ์น CPU์ ๊ตฌ์ฑ (0) | 2022.08.01 |
์ค๋ ๋๋, ์ค๋ ๋ ํน์ง, ์ฑ๊ธ ์ค๋ ๋, ๋ฉํฐ ์ค๋ ๋ (0) | 2022.08.01 |
TIL) ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ ์ ์ฐจ, OAUTH 2.0 ์ด๋, JWT (0) | 2022.07.15 |