Notice
Recent Posts
Recent Comments
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

JVM(Java Virtual Machine) 본문

Java

JVM(Java Virtual Machine)

빌드이너프 2022. 12. 30. 21:03

JVM

  • '자바를 실행하기 위한 가상 기계'
  • Virtual Machin은 소프트웨어로 구현된 하드웨어를 뜻하는 넓은 의미의 용어, 실제 컴퓨터(하드웨어)가 아닌 소프트웨어로 구현된 컴퓨터라는 뜻으로 컴퓨터 속의 컴퓨터라고 생각
  • 자바로 작성된 프로그램은 모두 JVM에서만 실행되기 때문에, 자바 애플리케이션이 실행되기 위해서 반드시 JVM이 필요함

 

Java 애플리케이션과 일반 애플리케이션의 비교

  • 일반 애플리케이션 코드는 OS만 거치고 하드웨어로 전달됨
  • Java 애플리케이션은 JVM을 한 번 더 거치기 때문에 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석되기 때문에 속도가 느리다는 단점을 지님
  • 하지만 바이트코드(컴파일된 자바코드)를 하드웨어의 기계어로 바로 변환해주는 JIT 컴파일러와 향상된 최적화 기술이 적용되어 속도의 격차를 많이 줄였음

  • 일반 애플리케이션은 OS와 바로 맞붙어 있기 때문에 OS 종속적 -> 다른 OS에서 실행시키기 위해 애플리케이션을 해당 OS에 맞게 변경
  • Java 애플리케이션은 JVM하고만 상호작용 -> OS와 하드웨어에 독립적(다른 OS에서도 프로그램의 변경없이 실행가능)
  • 단 JVM은 OS 종속적이기 때문에 해당 OS에서 실행가능한 JVM이 필요함
  • 자바의 중요한 장점인 'Wirte once, run anywhere.'가 나오게된 이유

다양한 OS용 JVM

 

 

참고자료

남궁 성. 『자바의 정석』. 도우출판, 2016. 4~5쪽

'Java' 카테고리의 다른 글

변수 variable  (0) 2023.01.06
자바 클래스 작성  (1) 2023.01.06
Java Programming Language  (0) 2022.12.30
IntelliJ 설치  (0) 2022.12.28
자바 환경설정(Mac에서 JDK 설치)  (1) 2022.12.27