표준 Java API 및 가상 머신은 주로 데스크탑 및 서버 시스템용으로 설계되었습니다. 그들은 모바일 장치와 호환되지 않습니다. 이 때문에 Google은 모바일 장치용으로 다른 API와 가상 머신을 만들었습니다. 이것을 Dalvik 가상 머신이라고 합니다.
Dalvik 가상 머신은 Android 런타임의 핵심 구성 요소이며 Android용으로 특별히 개발된 JVM(Java Virtual Machine)의 일부입니다. Dalvik 가상 머신은 메모리 관리, 멀티 스레딩 등과 같은 Java에서 매우 중요한 기능을 사용합니다. Java의 프로그램은 먼저 JVM으로 변환된 다음 DVM 바이트 코드로 해석됩니다.
JVM과 DVM에 대한 세부 정보는 다음과 같습니다. -
자바 가상 머신
Java Virtual Machine은 Java 바이트 코드를 실행하기 위한 런타임 환경을 제공하는 응용 프로그램입니다. 바이트코드를 기계어 코드로 변환합니다. Java Virtual Machine은 코드 로드, 코드 확인, 코드 실행, 런타임 환경 제공 등과 같은 여러 작업을 수행할 수 있습니다.
Java Virtual Machine의 작동을 설명하는 다이어그램은 다음과 같습니다. -
Dalvik 가상 머신
Dalvik Virtual Machine은 모바일 장치와 같은 저전력 핸드헬드 장치에 최적화된 Java Virtual Machine 버전입니다. DVM은 일반적으로 배터리 수명, 메모리 및 성능을 위해 모바일 시스템을 최적화합니다.
Android용 프로그램은 먼저 Java로 작성되고 나중에 JVM용 바이트코드로 컴파일됩니다. 그 후 이 바이트코드는 Dalvik 바이트코드로 변환되어 .dex 및 .odex 파일에 저장됩니다. Dalvik 실행 파일과 최적화된 Dalvik 실행 파일입니다.
Dalvik Virtual Machine의 작동을 설명하는 그림은 다음과 같습니다. -