[컴][안드로이드]JVM 과 DVM 의 차이점

java virtual machine 과 dlavik virtual machine 의 차이점.
JVM 과 DVM 의 차이점을 간략하게 정리해 놓는다. 좀 더 자세한 사항은 Ref. 2 를 보는 것이 도움이 될 듯 하다.

JVM
DVM
stack/register
stack based register-based
.jar/.dex
jar(.class file 의 묶음) DEX(다른 구조와 opcode 를 가졌다.)
instruction 의 양
stack-based 는 data를 stack에 load 하고 그 data 를 사용할 때 register-based 보다 더 많은 instructions 를 사용해야만 한다. register-based 에서는 instruction 에서 source 와 destination register 만 지정해 주면 된다. 그래서 소스가 더욱 작아질 수 있다.
최종파일
java -> .class java -> .class -> .dex
.class/.dex
java byte code로 된 .class 파일 실행시켜준다. own byte code로 된 .dex file 을 실행시켜준다.
DVM 은 device 가 여러개의 VM instances 를 효과적으로 실행할 수 있도록 디자인되었다.
low memory에서 동작하도록 디자인


References

  1. http://stackoverflow.com/questions/3446540/what-is-the-difference-between-dvm-and-jvm
  2. 구글이 DVM 을 선택한 이유

댓글 없음:

댓글 쓰기