Skip to content
DarkKaiser의 블로그
DarkKaiser의 블로그
  • 개발 관련 자료(노션)
  • Raspberry Pi(노션)
  • WD My Cloud(노션)
  • GitHub
DarkKaiser의 블로그

달빅(Dalvik) VM(virtual machine)에 대해 …

DarkKaiser, 2010년 5월 25일2023년 9월 6일

달빅(Dalvik)은 구글의 댄 본스타인(Dan Bornstein)이 만든 VM이다.

자바와 같이 안드로이드 앱 개발을 하기 위해 작성된 코드는 바이트 코드(bytecode)라는 기계 독립적인 명령으로 컴파일되고 안드로이드 장치에 있는 달빅(Dalvik) VM에 의해 실행된다.

즉, 자바(Java)로 만든 코드는 JVM (Java Virtual Machine) 위에서 실행 되듯이 안드로이드 앱은 달빅(Dalvik) VM 위에서 실행이 되는 것이다.

자바(Java)와 같이 안드로이드에서도 바이트코드가 있지만, 자바(Java)의 바이트코드(bytecode)와 달빅의 바이트코드(bytecode)는 다르다.

+ 달빅(Dalvik) VM
  – 여러 개의 VM인스턴스가 한 번에 실행가능
  – 내부 리눅스의 장점으로 인해 보안과 프로세스의 격리 가능
  – 최소한의 메모리 풋프린트(footprint)로 최적화된 Dalvik 실행자 (.dex) 형식의 파일을 실행
  – 등록 기반으로써 자바 컴파일러로 컴파일된 클래스를 내장된 “dx” 도구를 사용하여 .dex 형식으로 변환하여 실행

달빅(Dalvik) VM은 .dex 파일을 실행시키는데 이 파일(.dex)은 자바의 .class와 .jar 파일이 컴파일 시점에 변환된 것이다. .dex 파일은 클래스 파일보다 컴팩트하고 효율성이 높다. @_@

마지막으로, 달빅(Dalvik)이라는 이름의 어원은 달빅(Dalvik)을 만든 댄 본스타인의 조상이 살던 아이슬란드의 한 물고기 잡는 마을의 이름을 딴 것이라고 한다. +_+

안드로이드

글 내비게이션

Previous post
Next post

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

최신 글

  • AssertJ 소개testCompile ‘org.assertj:assertj-core:3.6.2’ 2017년 9월 14일
  • 자주 사용되는 Lombok 어노테이션 2017년 9월 14일
  • 유니코드 #3 2017년 9월 14일
  • 유니코드 #2 2017년 9월 14일
  • 유니코드 #1 2017년 9월 14일

최신 댓글

    카테고리

    • 개인 자료 (1)
      • 일기 (1)
    • 주절주절 (7)
    • 프로그래밍 갤러리 (16)
    • 프로그래밍 언어 (186)
      • Java (29)
      • C/C++/VC++ (114)
      • C# (11)
      • Visual Basic (6)
      • 안드로이드 (9)
      • Objective-C (5)
      • JavaScript (4)
      • JSP/Servlet (2)
      • Python (4)
      • 어셈블러 (1)
    • 개발++ (44)
      • Book (11)
        • Joel On Software (10)
      • 프로젝트 관리 (6)
      • Maven (1)
      • 디버깅 (1)
      • DirectX (1)
      • Silverlight (1)
      • RESTful (1)
      • Hacking (1)
      • WDM (4)
      • VoIP (5)
      • 기타 (1)
    • 개발 도구 (15)
      • eclipse (14)
      • Sublime Text (1)
    • 네트워크 (7)
    • 설치 및 배포 (7)
      • InstallShield (2)
      • NSIS (4)
    • 버전 관리 (9)
      • Git (2)
      • CVS (2)
      • Subversion (5)
    • 데이터베이스 (7)
      • Oracle (3)
      • Sybase (2)
      • MS-SQL (2)
    • 단위테스트 (3)
      • JUnit (1)
      • NUnit (2)
    • 버그추적시스템 (2)
      • mantis (2)
    • 운영체제 (7)
      • Windows (5)
      • 리눅스 (2)
    • WAS (3)
      • WebLogic (3)
    • 디자인패턴 (1)
    • 디지털 이미지 프로세싱 (16)

    태그

    ArrayList ATL BMP CAB CAB 파일 CD-ROM COM DCOM Downcasting for each GetLastError() Java JDT JoelOnSoftware Lokbok netsh NUnit Python StringBuilder Subverion SVN TR1 unicows Upcasting WAVE weak_ptr WebClient Wrap 내장 객체 레이아웃 리소스 리팩토링 마우스 문자 스트림 바이트 스트림 배포 비스타 빌드 서브클래싱 스트림 시스템 에러메시지 오피스파일구별 임시파일 지역클래스 타입 라이브러리

    메타

    • 로그인
    • 엔트리 피드
    • 댓글 피드
    • WordPress.org
    ©2025 DarkKaiser의 블로그 | WordPress Theme by SuperbThemes