码迷,mamicode.com
首页 > 编程语言 > 详细

java虚拟机与Dalvik虚拟机

时间:2014-06-17 18:27:16      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:jvm   dalvik   虚拟机   

    Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。其实,Java虚拟机就是一个Java环境,类似于Python代码运行时所需要的Python环境一样。

    Dalvik虚拟机是Android程序的虚拟机,是Android中Java程序的运行基础。其指令集基于寄存器架构,执行其特有的文件格式——dex字节码来完成对象生命周期管理、堆栈管理、线程管理、安全异常管理、垃圾回收等重要功能。它的核心内容是实现库(libdvm.so),大体由C语言实现。依赖于Linux内核的一部分功能——线程机制、内存管理机制,能高效使用内存,并在低速CPU上表现出的高性能。每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。

        不论是Java虚拟机还是Dalvik虚拟机,其本质都是一个保证代码能够顺利运行的环境。

本文出自 “sdu_IS” 博客,请务必保留此出处http://hychuanshuo.blog.51cto.com/2724628/1426901

java虚拟机与Dalvik虚拟机,布布扣,bubuko.com

java虚拟机与Dalvik虚拟机

标签:jvm   dalvik   虚拟机   

原文地址:http://hychuanshuo.blog.51cto.com/2724628/1426901

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!