Android Dalvik虚拟机简述(与Java虚拟机的区别和简要的执行原理)

先一睹Dalvik虚拟机在Android系统框架图中位置:


文章目录:

一、虚拟机简述
二、Java虚拟机简述
三、Dalvik虚拟机简述
四、Dalvik虚拟机与Java虚拟机的区别
五、Dalvik虚拟机执行原理简述


此文章原始是PPT格式已转换为PDF,请直接下载文档阅读:

AndroidDalvikVMOverview

时间: 2024-09-20 22:59:51

Android Dalvik虚拟机简述(与Java虚拟机的区别和简要的执行原理)的相关文章

Java虚拟机

一. 什么是Java虚拟机 Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现.Java虚拟机有自己想象中的硬件,如处理器.堆栈.寄存器等,还具有相应的指令系统. 1.为什么要使用Java虚拟机? Java语言的一个非常重要的特点就是与平台的无关性.而使用Java虚拟机是实现这一特点的关键.一般的高级语言如果要在不同的平台上运行, 至少需要编译成不同的目标代码.而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译. Java虚拟机屏蔽了与具体平台相关的信息,

Java虚拟机的内存结构

我们都知道虚拟机的内存划分了多个区域,并不是一张大饼.那么为什么要划分为多块区域呢,直接搞一块区域,所有用到内存的地方都往这块区域里扔不就行了,岂不痛快.是的,如果不进行区域划分,扔的时候确实痛快,可用的时候再去找怎么办呢,这就引入了第一个问题,分类管理,类似于衣柜,系统磁盘等等,为了方便查找,我们会进行分区分类.另外如果不进行分区,内存用尽了怎么办呢?这里就引入了内存划分的第二个原因,就是为了方便内存的回收.如果不分,回收内存需要全部内存扫描,那就慢死了,内存根据不同的使用功能分成不同的区域,

Java虚拟机详解----JVM常见问题总结

[正文] 声明:本文只是做一个总结,有关jvm的详细知识可以参考本人之前的系列文章,尤其是那篇:Java虚拟机详解04----GC算法和种类.那篇文章和本文是面试时的重点. 面试必问关键词:JVM垃圾回收.类加载机制.   先把本文的目录画一个思维导图:(图的源文件在本文末尾)   一.Java引用的四种状态: 强引用: 用的最广.我们平时写代码时,new一个Object存放在堆内存,然后用一个引用指向它,这就是强引用. 如果一个对象具有强引用,那垃圾回收器绝不会回收它.当内存空间不足,Java

理解Java虚拟机体系结构(转)

1 概述 众所周知,Java支持平台无关性.安全性和网络移动性.而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么.正是得益于Java虚拟机,它号称的"一次编译,到处运行"才能有所保障. 1.1 Java程序执行流程 Java程序的执行依赖于编译环境和运行环境.源码代码转变成可执行的机器代码,由下面的流程完成: Java技术的核心就是Java虚拟机,因为所有的Java程序都在虚拟机上运行.Java程序的运行需要Java

深入解析java虚拟机_java

java虚拟机是什么 "java虚拟机"可能指以下三种东西:1).抽象规范:2).一个具体的实现:3).一个运行中的虚拟机实例: java虚拟机生命周期 启动当启动一个java程序时,一个虚拟机实例诞生.虚拟机实例通过调用某个初始类的public static void main(String[] args)方法来运行一个java程序.任何拥有这样一个main方法的类都可以作为java程序运行的起点,所以必须要告诉虚拟机初始类的名称,整个程序将从它的main方法开始运行.消亡初始类的m

《深入解析Android 虚拟机》——第2章 Java虚拟机基础 2.1虚拟机的作用

2.1 虚拟机的作用 虚拟机(Virtual Machine)这一概念最初由波佩克与戈德堡定义,是指通过软件模拟的具有完整硬件系统功能的.运行在一个完全隔离环境中的完整计算机系统.由此可见,虚拟机是跟特定硬件无关的一个系统.在现实应用中,虚拟机最常见的情形便是双系统.例如计算机原装系统是Windows,为了在这台机器上能够体验Linux系统,可以安装一个虚拟机环境,在这个虚拟机环境中运行Linux系统,这样就实现了"一机双系统"的功效.在现实应用中,通过虚拟机软件可以在一台物理计算机上

64位-android studio无法连接java虚拟机该如何解决

问题描述 android studio无法连接java虚拟机该如何解决 我装的是android studio最新版,jdk是1.8 64位的,JAVAHOME是 .;C:Program Files (x86)Javajdk1.8.0_45 ,JDK_PATH是 %JAVA_HOME% ,PATH是 %JAVA_HOME%bin ,classpath是 %JAVA_HOME%libtools.jar; ,_依然无法运行android studio ,请问该如何解决这个问题 解决方案 JAVA_HO

《深入解析Android 虚拟机》——2.2 Java虚拟机概述

2.2 Java虚拟机概述 Java虚拟机(JVM)是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能模拟来实现的.Java虚拟机有自己完善的硬件架构,如处理器.堆栈.寄存器等,还具有相应的指令系统.JVM虚拟机的运作结构如图2-1所示. 从该图中可以看到,JVM是运行在操作系统之上的,与硬件没有直接的交互.JVM的具体组成部分如图2-2所示. (1)使用JVM的原因. Java语言的一个非常重要的特点就是与平台的无关性.而使用JVM是实现这一特点的关键.一般的高级语言如果要在

jvm开发笔记3—java虚拟机雏形

作者:王智通   一.背景 笔者希望通过自己动手编写一个简单的jvm来了解java虚拟机内部的工作细节毕竟hotsopt以及android的dalvik都有几十万行的c代码级别. 在前面的2篇开发笔记中已经实现了一个class文件解析器和一个java反汇编器 在这基础上 java虚拟机的雏形也已经写好.还没有内存管理功能 没有线程支持.它能解释执行的指令取决于我的java语法范围 在这之前我对java一无所知 通过写这个jvm顺便也把java学会了 它现在的功能如下 1.java反汇编器 山寨了