JVM 은 프로그램 실행중에 같이 가상머신도 돌아가는거라 메모리 관리를 해주는게 직관적으로 이해가 되는데
ART는 안드로이드에서 이 가상머신이 성능과 배터리를 너무 뺏어가니까 없앤 버전 아닌가요?
그럼 어떻게 가상머신없이 minor, major GC를 실행할 수가 있는지 궁금합니다
댓글 1
바이트코드를 JVM이 실행할 때 기계어로 필요할 때마다 번역함. 이게 JIT이었음. 그러다 보니까 이 번역하는 시간 때문에 전체적인 속도가 느렸음.
그래서 그 번역을 첫 실행 때 해놓고 결과물을 두고 계속 쓰는데 ART임. 이것을 AOT라고 함.
그러니까 ART로 도는 애플리케이션은 번역된 결과물에 JVM이 포함된 거임.
바이트코드를 JVM이 실행할 때 기계어로 필요할 때마다 번역함. 이게 JIT이었음. 그러다 보니까 이 번역하는 시간 때문에 전체적인 속도가 느렸음. 그래서 그 번역을 첫 실행 때 해놓고 결과물을 두고 계속 쓰는데 ART임. 이것을 AOT라고 함. 그러니까 ART로 도는 애플리케이션은 번역된 결과물에 JVM이 포함된 거임.