Android ART - DVM - JVM

  • ART(Android Run Time) 
- Compile : AOT(Ahead Of Time)
Register Architecture : 모든 피연산자가 메모리 & 레지스터 조합 (레지스터 + 메모리)
- java.io, java.net, android.*, com.goolge.*
run : OAT(ART)
- GC : Customized Mark-Sweep(CMS) Algorithm(DVM GC 일시정지에 비해 1/2 번 작용)
  • DVM(Dalvik Virtual Machine)
- Compile : JIT(Just In Time)
- Register Architecture : 모든 피연산자가 메모리 & 레지스터 조합 (레지스터 + 메모리)
- java.io, java.net, android.*, com.goolge.*
- run : dex, ODEX
- GC : Mark-Sweep(CMS) Algorithm
  • JVM(Java Virtual Machine) 
- Stack Architecture : 후입 선출 스택 사용(수명이 긴 임시 값을 보관하기 위함)
- java.io, java.net, javax.swing.*
- run : jar
- GC : 직렬 -> 단일 가상 프로세서, 병렬 다중 스레드 사용



  • DVM & ART 아키텍처

출처 : https://en.wikipedia.org/wiki/Android_Runtime


  • JVM아키텍처


출처 : https://en.wikipedia.org/wiki/Java_virtual_machine


출처 : 

http://androiddeveloperindelhi.blogspot.kr/2012/10/comparison-of-dalvik-vm-with-java.html

https://aatul.me/2013/04/17/dvm-vs-jvm/

https://ko.wikipedia.org/wiki/안드로이드와_자바의_비교

http://www.onsandroid.com/2011/12/dvm-vs-jvm.html

https://en.wikipedia.org/wiki/Stack_machine

https://en.wikipedia.org/wiki/Register_machine

https://en.wikipedia.org/wiki/Register_memory_architecture

https://medium.com/@nitinkumargove/how-garbage-collection-works-in-dalvik-vm-in-android-bf781ab48531

http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html

https://en.wikipedia.org/wiki/Android_Runtime

https://android.jlelse.eu/closer-look-at-android-runtime-dvm-vs-art-1dc5240c3924

https://willowtreeapps.com/ideas/the-android-runtime-the-butter-weve-all-been-waiting-for

https://en.wikipedia.org/wiki/Java_virtual_machine

'Study > Android' 카테고리의 다른 글

Android 앱 구성 요소(Component)  (0) 2018.01.29
Android Async  (0) 2018.01.17
Android ART & DVM & JVM  (0) 2018.01.12
Android Platform (Architecture)  (0) 2018.01.09
Android Platform (Version Fragmentation & DPI)  (0) 2018.01.05
Android App Bar  (0) 2017.12.31

+ Recent posts