달빅은 무엇입니까? 우리는 안드로이드와 그 내부 작동에 대해 이야기 할 때 인터넷에서 많은 단어가 던져지는 것을 들었습니다. 몇 단락만으로 쉽게 설명 할 수는 없지만 기본 사항을 다루고 엉뚱한쪽에 먹이를 주어야 할 경우 올바른 방향으로 안내 할 수 있습니다. 가장 간단한 용어로 Dalvik은 Java로 작성된 응용 프로그램 및 코드를 실행하는 가상 머신입니다. 표준 Java 컴파일러는 소스 코드 (텍스트 파일로 작성)를 Bytecode로 변환 한 다음 Dalvik VM이 읽고 사용할 수있는.dex 파일로 컴파일합니다. 본질적으로 클래스 파일은 표준 Java VM을 사용하는 경우 jar 파일과 같이.dex 파일로 변환 된 다음 Dalvik Virtual Machine에서 읽고 실행합니다. 클래스 파일에 사용 된 중복 데이터는.dex 출력에 한 번만 포함되므로 공간을 절약하고 오버 헤드를 줄입니다. 애플리케이션을 설치할 때 실행 파일을 다시 수정하여 모바일에 더욱 최적화 할 수 있습니다. 바이트 순서 스왑 및 데이터 구조 및 함수 라이브러리 인라인 연결과 같은 것들이 파일을 작게 만들고 장치에서 더 잘 실행합니다. Dalvik VM은 안드로이드를 염두에두고 정사각형으로 작성되었습니다.
아직 혼란스러워? 기분 나빠하지 마세요, 괴짜 프로그래밍 대화는 일반적으로 그 효과가 있습니다. 컴퓨터를위한 Java 애플리케이션을 빌드 할 때 Java Virtual Machine은 소스 코드의 컴파일 된 출력을 실행합니다. 이것이 바로 Java가 거의 모든 운영 체제에서 실행되는 이유입니다. Dalvik은 Apache Harmony 프로젝트의 코드를 사용하여 모바일에 최적화 된 Java Virtual Machine 버전입니다. Apache Harmony 프로젝트는 오픈 소스이며 제한된 하드웨어에서 표준 Java VM보다 성능이 뛰어나므로 둘 이상을 실행할 수 있습니다. 한 번에 VM의 인스턴스 (예: 멀티 태스킹) Dalvik은 오픈 소스이므로 BlackBerry PlayBook에있는 것과 같은 다른 운영 체제에도 포팅되었습니다. 꽤 복잡하고, 멋져요, Oracle (Sun에서 Java를 구입 한 회사)은 그것을 싫어합니다.
Android는 Dalvik을 사용합니다. 표준 Java Virtual Machine에 대한 라이센스는 GPL2 (무료 및 오픈 소스)이지만 모바일 장치에 배치하고 Java Micro Edition을 사용하는 경우에는 그렇지 않습니다. 구글과 오라클의 큰 논쟁은 모두 달빅을 중심으로합니다. 구글은 오라클의 코드를 전혀 사용하지 않고 "클린 룸"환경에서 작성했다고 주장하며 오라클은 동의하지 않는다. 우리는 전혀 모른다고 주장합니다. 우리는 그것이 잘 작동하고 기쁘다.