JAVA의 특징
<aside>
💡 아무 하드웨어(CPU)던, 아무 운영체제(OS)던 상관없이 컴파일 된 코드(바이트코드)가 플랫폼 독립적이라는 점. 즉, 어떤 OS든 독립적으로 프로그램을 실행시킬 수 있다.
</aside>
- 이러한 특징을 구현하기 위해 JVM이 필요하며 OS에 구애 받지 않고 프로그램을 실행할 수 있도록 도와준다.
실행 과정 정리
- 자바 컴파일러에 의해 자바 소스 파일은 바이트 코드로 변환된다. 그리고 이러한 바이트 코드를 JVM에서 읽어 들인 다음에, 내부에서 복잡한 과정을 거쳐서 어떤 운영체제든 프로그램을 실행할 수 있도록 만드는 것
- 만약, 자바 소스 파일은 리눅스에서 만들었고 윈도우에서 이 파일을 실행하고 싶다면, 윈도우용 JVM을 설치만 하면 된다. 여기서 JVM은 운영체제에 종속적이라는 특징을 알 수 있다.
JVM이란?
<aside>
💡 Java Virtual Machine의 약자로 자바 가상 머신을 의미 한다. Java Byte Code를 OS에 맞게 해석을 해주기 때문에 JAVA의 애플리케이션이 OS에 영향을 받지 않고 실행할 수 있게해주는 역할을 한다.
시스템 메모리를 관리하면서 자바 기반 애플리케이션을 위해 이식 가능한 실행 환경을 제공한다.
</aside>
JAVA와 운영체제 사이에서 중개자 역할을 수행한다.
JVM 구조