当前位置:网站首页>Differences between JVM, Dalvik and art
Differences between JVM, Dalvik and art
2022-06-26 09:56:00 【Bai Ze】
JVM、Dalvik and ART The difference between
Generally speaking, traditional Java Virtual machine is JVM, later Google And I am dedicated to Android Platform design Java virtual machine , That's it Dalvik and ART, and ART It's right again Dalvik A full upgrade of .
Now the problem focuses on Dalvik And ART It's on you , Both of them are Android Virtual machine on platform ,Android The application uses a suffix named .apk The compressed file of , Let's first analyze Apk file .Apk The file mainly includes some resource files , Inventory file , and classes.dex file (classes If the method is divided by more than 65536 Will result in packaging failure , You can use MutiDex to subcontract , The main principle is to increase classes file ),classes.dex File by java Bytecode Optimized and packaged , There are two situations :
Dalvik virtual machine : stay Dalvik in , Every time you open an application ,Dalvik Will read classes.dex Document and explain the implementation ,Dalvik Rely on one
Just-In-Time(JIT)Compiler to interpret bytecode . This interpretation is not efficient , But it makes it easier for applications to be compatible with different hardware and architectures .Dalvik optimized , Allow multiple instances of virtual machines to run in limited memory , And each of these Dalvik Apply as an independent Linux Process execution . Independent processes can prevent all programs from being shut down when the virtual machine crashes .ART virtual machine : Use
Ahead-Of-Time(AOT)Compiling mechanism , When the application is installed, the bytecode is precompiled into the machine language and saved locally , The suffix isoatThe file of , Then open the application and directly read the local machine language , Efficiency has been greatly improved .
ART contrast Dalvik Advantages and disadvantages ( Comparison between similar interpretive languages and compiled languages ):
advantage :
- The system performance is significantly improved .
- Apps start faster 、 Run faster , More fluid experience , Touch feedback is more timely .
- Longer battery life .
shortcoming :
- Larger storage footprint , May increase 10%~20%.
- Longer application installation time .
in general ART The effect is Space for time

Reference resources :
http://www.cnblogs.com/shaweng/p/3811461.html
https://www.zhihu.com/question/29406156
边栏推荐
- Introduction to stored procedure testing
- In the fragment, the input method is hidden after clicking the confirm cancel button in the alertdialog (this is valid after looking for it on the Internet for a long time)
- What is the web SSH service port of wgcloud
- Champions League data set (Messi doesn't cry - leaving Barcelona may reach another peak)
- Control setting layout in linear layout_ Gravity doesn't work?
- LeetCode 958. 二叉树的完全性校验
- Redis notes (16) - info instructions and command line tools (view memory, status, number of client connections, monitoring server, scan large keys, sampling server, execute batch commands, etc.)
- Cento7.7 elk installation simple record
- MySQL单表500万条数据增、删、改、查速度测试
- DAY 3 数组,前置后置,字符空间,关键词和地址指针
猜你喜欢

MySQL learning summary

Redis notes (13) - scan and keys search for specific prefix key fields (command format, usage examples, locating large keys)

MapReduce&Yarn理论

国际化配置

install opencv-contrib-dev to use aruco code

Automated testing -- Introduction and use of pytest itself and third-party modules

Custom interceptor
![[trajectory planning] testing of ruckig Library](/img/c7/51c0f6dc3bf7c7fa4528118a4c32fa.png)
[trajectory planning] testing of ruckig Library

Druid data source for background monitoring

DAY 3 数组,前置后置,字符空间,关键词和地址指针
随机推荐
2021 national vocational college skills competition (secondary vocational group) network security competition questions (1) detailed analysis tutorial
十万行事务锁,开了眼界了。
Flutter's brain map notes are easy to find and search!
Install new version cmake & swig & tinyspline
logback
The basis of C language grammar -- pointer (multidimensional array, function, summary) learning
Test instructions - common interface protocol analysis
动态库连接 - 符号冲突 - 全局符号介入
Automated testing -- Introduction and use of pytest itself and third-party modules
Redis notes (13) - scan and keys search for specific prefix key fields (command format, usage examples, locating large keys)
LeetCode 498. 对角线遍历
Battery historian analyzes battery consumption
halcon 光度立体
Logical English structure [key points]
Differences between VI and vim and common commands
LeetCode 基本计算器 224. 227. follow up 394
SQL advanced tutorial
软件测试---如何选择合适的正交表
From TF 1 X to TF 2.6 (update if you encounter it)
自动化测试——pytest框架介绍及示例