JAVA VIRTUAL MACHAIN
▶ JAVA 프로그램 실행구조
코드를 작성할 때 메모리 관리가 중요하다. 컴퓨터의 메모리 공간은 한정되어 있고, 불필요한 메모리가 누적되다 보면 시스템 속도 저하는 물론이고 컴퓨터의 메로기 공간을 초과하게 된다.
일반적인 프로그램은 windows나 Linex 같은 운영체제(os) 위에서 실행하게 됩니다.
JAVA프로그램의 실행은 운영체제가 JVM을 실행시키고, JVM이 자바 프로그램을 실행시키는 구조를 가지고 있습니다.
JVM (JAVA VIRTUAL MACHAIN)
JVM은 Java Virtual Machine의 약자로, 가상의 하드웨어 역할을 해주는 software입니다.
- Virtual : 가상화, 즉 Hardware 적인 형태가 아닌 Software 적인 형태이다.
- Machine : 독자적으로 작동할 수 있는 기계적인 구조를 가지고 있어 하나의 축약된 컴퓨터이다.
JVM은 JAVA 프로그램간의 중계자 역할을 하며, JAVA는 OS가 무엇이든 코드가 변하지 않고 JVM이 설치되어있는 곳이라면 어디든지 재사용이 가능하다는 특징이 있습니다.
이것이 가능한 이유는 JVM은 OS 버전 별로 바뀔 수 있지만(JVM은 OS에 종속적) JAVA와 JVM간 통신은 항상 같은 규격에서 이루어지기 때문입니다. (JAVA프로그램은 OS에 독립적)그러므로 실제 JAVA프로그램이 실행되는 곳은 OS에서 메모리를 할당 받은 JVM이며, JVM내에서 데이터가 메모리 공간의 특성에 따라 적재됩니다.
'JAVA' 카테고리의 다른 글
커넥션 풀 구현 (0) | 2020.05.20 |
---|---|
컨넥션 풀 (0) | 2020.05.14 |
Generic(제네릭) (0) | 2020.05.13 |
필터 (Filter) (0) | 2020.05.12 |
Servlet (서블릿) (0) | 2020.05.08 |