Java & Kotlin

[JAVA] JVM과 자바 코드의 동작

1. JVM이란 무엇인가? JVM(JAVA Virtual Machine)은자바 애플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행해주도록 하는 가상 머신입니다. JVM은 JAVA와 OS 사이에서 중개자 역할을 하는데, 덕분에 JAVA가 OS에 구애받지 않고 재사용을 가능하게 해줍니다. 가상 머신 도입의 가장 근본적인 이유이기도 하죠. 한편, 또 하나의 JVM의 중요한 역할 중 하나는 Garbage Collection(GC)을 통한 메모리 관리인데요. GC(Garbage collection)에 대해서는 아래 포스팅에서 자세히 정리했습니다. [JAVA] 가비지 컬렉션(Garbage Collection, GC)에 대한 이해 0. 들어가기 전에 자바 가비지 컬렉터(GC)에 대해 설명하기 전에 ..

2021.06.17 게시됨

CS/OS

[운영체제/OS] 가상머신(Virtual Machine)과 Linux OS에 대해

1. 가상머신(Virtual Machine)의 필요성 과거에는 하나의 어플리케이션 프로그램이 특정한 플랫폼에서만 실행 가능한 종속 관계를 가지고 있었습니다. 예를 들어 i386 ISA는 linux 운영체제를 사용했고 x86은 Window 운영체제를 필요로 했죠. 하드웨어와 운영체제 간 결합이 강했기 때문에 그 관계가 맞지 않으면 프로그램 작동을 원활하게 할 수 없었던 때였습니다. 이러한 문제 의식에서 출발하여 "아무 컴퓨터에서나 내 응용 프로그램을 돌리고 싶다"라는 목표가 생겼고, 이를 위해 가상머신(Virtual Machine)이 등장하게 되었습니다. 즉, 가상 머신이 등장하게 된 슬로건은 "Software for Cross-platform Compatibility"이었죠. 그리고 이로부터 파생되고 발..

2021.06.14 게시됨