[Spring - JAVA] JVM이란

2023. 10. 14. 14:06Spring

JVM = Java Virtual Machine

 

자바 가상 기계 "자바 프로그래밍이 실행되는 가상 컴퓨터를 말한다. JVM이 나타나기 전 대부분의 프로그래밍 언어들은 가상 기계가 아닌 OS 환경에서 실행되는 형태로 사용되었다.

 

또한 OS의 존재가 약했던 초기창기에는 하드웨어 상에서 직접 프로그래밍 언어가 실행되는 형태였다. 하드웨어 상에서 직접 프로그램이 실행되기 때문에 동일한 기능을 제공하지만 하드웨어 환경에 따라 다르게 프로그램을 작성해야되는 문제가 발생하였다.

 

이러한 상태에서 서로 다른 하드웨어를 관리해주는 운영체제의 등장으로 사용자는 운영체제만 배우면 서로 다른 구조를 가진 컴퓨터에서도 일관된 프로그램을 작성 가능하게 되었다.

 

하지만 다양한 운영체제와 인터넷의 등장으로 다시 한번 변화를 가지게 되었는데 이것이 새로운 환경에서도 별도의 프로그래밍 없이 프로그램을 실행할 수 있게 만들어주는 JVM의 등장이다 JVM을 이용해 한번 작성된 프로그램을 인터넷을 통해 전달해 어떠한 운영체제를 가진 컴퓨터에서도 실행될 수 있는 환경을 제공하고 있다.

 

운영체젱 위에 JVM 환경이 덮어쓰고 JVM을 이용해 변환된 코드를 인터넷으로 전달해 프로그램을 실행할 수 있게 되었다

 

JAVA -> JVM -> OS 환경으로 코드가 전달되고 JAVA 소스코드는 컴퓨터가 알 수 있는 기계어로 바로 변환 되는 것이 아닌 JVM에서 java byte code로 변환되어 인식되고 해당 코드를 JVM이 기계어로 변환해 OS로 전달하게 되어 우리는 OS환경에 상관없이 코드를 작성할 수 있게 되었다.