컴퓨터과학/소프트웨어

[소프트웨어] 자바 가상 머신 (Java Virtual Machine) 이란?

InfHo 2023. 2. 2. 18:58

목차

     

    자바-가상-머신
    자바 가상 머신 사진

    자바 가상 머신이란

    자바 가상 머신(Java Virtual Machine, JVM)은 컴퓨터가 자바 바이트코드로 컴파일된 다른 언어로 작성된 프로그램뿐만 아니라 자바 프로그램을 실행할 수 있게 해주는 가상 머신이다. JVM은 자바 바이트코드의 실행을 위한 런타임 환경을 제공하는 추상 컴퓨팅 머신이다.

    JVM은 바이트 코드를 해석하여 호스트 시스템의 하드웨어와 운영 체제에 매핑하므로 프로그램이 수정 없이 다양한 플랫폼에서 실행될 수 있습니다. JVM은 또한 메모리 관리, 스레드 관리, 보안과 같은 일련의 내장 서비스를 제공하여 자바 프로그램이 이식 가능하고 안전할 수 있도록 한다.

    JVM은 플랫폼 독립적으로 설계되었으며 윈도우, 리눅스, 맥, 안드로이드와 같은 모바일 플랫폼에 구현된다. 이것은 자바 프로그램이 한 번 작성되고 JVM이 설치된 어떤 플랫폼에서도 실행될 수 있다는 것을 의미한다.

    또한 JVM은 바이트 코드를 네이티브 머신 코드로 즉시 변환할 수 있는 JIT(Just-In-Time) 컴파일러를 제공하여 프로그램의 성능을 향상시킨다.

    요약하자면, 자바 가상 머신(JVM)은 컴퓨터가 자바 바이트코드로 컴파일된 자바 프로그램과 다른 언어들을 실행할 수 있게 해주는 소프트웨어이다. 실행 시 환경, 기본 제공 서비스, JVM를 사용하여 다른 플랫폼에서 동일한 프로그램을 실행할 수 있는 기능을 제공합니다.

    자바 가상 머신의 특징

    1. JVM은 자바 바이트코드 실행을 위한 런타임 환경을 제공하는 추상 컴퓨팅 머신이다.

    2. JVM은 플랫폼 독립적으로 설계되었으며, 윈도우, 리눅스, 맥, 안드로이드와 같은 모바일 플랫폼에 구현되어 자바 프로그램을 다른 환경에서 이식할 수 있다.

    3. JVM은 자바 바이트코드의 실행을 위한 환경을 제공하며 메모리 관리, 스레드 관리, 보안을 관리하여 자바 프로그램이 이식 가능하고 안전할 수 있도록 한다.

    4. 바이트 코드를 해석한다: JVM은 바이트 코드를 해석하여 호스트 시스템의 하드웨어와 운영 체제에 매핑하여 프로그램이 수정 없이 다양한 플랫폼에서 실행될 수 있도록 한다.

    5. JVM은 바이트 코드를 네이티브 머신 코드로 즉시 변환할 수 있는 JIT 컴파일러를 제공하여 프로그램의 성능을 향상시킨다.

    6. Garbage collector: JVM은 또한 메모리를 자동으로 관리하고 더 이상 사용되지 않는 객체로부터 메모리를 해방시켜 프로그래머가 메모리를 수동으로 관리해야 하는 부담을 줄여주는 Garbage collector를 포함한다.

    7. 클래스 로더를 제공한다: JVM은 클래스 파일을 로드하고 런타임에 프로그램에서 사용할 수 있도록 하는 내장 클래스 로더를 가지고 있다.

    8. 보안을 강화합니다. JVM은 코드가 안전한 환경에서 실행될 수 있도록 일련의 보안 기능을 제공하며, 시스템 리소스에 대한 액세스를 제어하기 위해 일련의 보안 정책을 적용하는 보안 관리자를 제공합니다.

     


     

     

    '컴퓨터과학/소프트웨어' 카테고리의 글 목록

    모든 분야의 정보를 담고 있는 정보의 호텔입니다.

    jkcb.tistory.com