์๋ณธ ์ ๋ชฉ์ '์ ์คํ๊ฒ ์ฌ์ฉํ๋ผ'์ด๋, ๋ด์ฉ์ ์ฌ์ฉํ์ง ์์ ๊ฒ์ ์ ๊ทน ๊ถ์ฅํ๋ ๋ด์ฉ์ด๊ธฐ ๋๋ฌธ์ ํ์ผ๋ช ์ avoid๋ผ๋ ํํ์ ์ฌ์ฉ.
- ์๋ฐ์์ C, C++๊ณผ ๊ฐ์ ๋ค์ดํฐ๋ธ(์ ๋ ๋ฒจ) ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฑ๋ ๋ฉ์๋๋ฅผ ํธ์ถํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค
- ๋ค์๊ณผ ๊ฐ์ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ
- ๋ ์ง์คํธ๋ฆฌ ๊ฐ์ ํ๋ซํผ ํนํ ๊ธฐ๋ฅ ์ฌ์ฉ
- ์ด๋ฏธ ๋ค์ดํฐ๋ธ ์ฝ๋๋ก ์์ฑ๋ ๊ธฐ์กด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉ
- ์ฑ๋ฅ ๊ฐ์ ์ ์ํด ํน์ ์์ญ๋ง์ ๋ค์ดํฐ๋ธ ์ธ์ด๋ก ์์ฑ
- Java ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ๋ฉฐ ์ ์ OS์ ๊ฐ์ ํ๋ถ ํ๋ซํผ์ ์ ๊ทผํ ์ ์๋ API๋ค์ด ์ถ๊ฐ๋๊ณ ์์
- ๊ธฐ์กด์ ๋ค์ดํฐ๋ธ ๋ฉ์๋๋ฅผ ์ฐ๋ ๋ถ๋ถ์ ๋๋ถ๋ถ์ด Java ์ฝ๋๋ก ๋์ฒด ๊ฐ๋ฅํด์ก๋ค๋ ์๋ฆฌ
- ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ๋ฉด์ JVM์ ์ฑ๋ฅ๋, ์ฌ๋ฌ ์ฐ์ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฑ๋ฅ๋ ๋ง์ด ๊ฐ์ ๋์๊ธฐ ๋๋ฌธ
- ๋ค์ดํฐ๋ธ ์ธ์ด๋ ์์ ํ์ง ์์. Java์ ๊ฐ์ ๊ณ ๋ ๋ฒจ ์ธ์ด์์๋ ์์์ ์ฐจ๋จ๋๋ ๋ค์ํ ๋ณด์ ์ทจ์ฝ์ฑ์ ๋
ธ์ถ๋์ด ์์
- ๋ฉ๋ชจ๋ฆฌ ํผ์, ์ค๋ฒํ๋ก์ฐ์ ๊ฐ์ ์ด์
- ํ๋ซํผ์ ์์กดํ์ฌ ์ด์์ฑ์ด ๋ฎ์
- ์ ์๋น์ด Java๊ฐ ์ธ๊ธฐ๋ฅผ ์ป๊ฒ ๋ ์ฃผ์ ์์ธ ์ค ํ๋๊ฐ JVM์ด๋ผ๋ ๋ณ๋ ๋จธ์ ์์ ์คํํ๋๋ก ํ์ฌ OS์ ์ข ๋ฅ์ ์๊ด ์์ด ๊ฐ์ ์ฝ๋๋ฅผ ์คํํ ์ ์๊ฒ ํ ์ ์ธ๋ฐ, ๋ค์ดํฐ๋ธ ์ธ์ด์์๋ ์ด๋ฌํ ์ด์ ์ ๋๋ฆด ์ ์์
- ๋๋ฒ๊น ํ๊ธฐ๋ ๋ ์ด๋ ค์
- ๋ค์ดํฐ๋ธ ๋ฉ์๋๊ฐ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ GC์ ์ํด ํ์๋์ง ์์ผ๋ฉฐ, ์ฌ์ง์ด ์ถ์ ๋ ๋ถ๊ฐ๋ฅ
- Java ์ฝ๋์ ๋ค์ดํฐ๋ธ ์ฝ๋์ ๊ฒฝ๊ณ๋ฅผ ๋๋๋๋ ๋ฐ์๋ ๋น์ฉ์ด ๋ค์ด๊ฐ
- ๋ค์ดํฐ๋ธ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ์ฝ๋ ์์ฒด๋ ๊ท์ฐฎ๊ณ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง