【Android面试八股文】说一说JVM、DVM(Dalvik VM)和ART的区别

news2024/12/25 9:38:08

文章目录

  • 1. JVM(Java Virtual Machine):
  • 2. DVM(Dalvik Virtual Machine):
    • 与JVM区别
      • 基于的架构不同
      • 执行的字节码不同
  • 3. ART(Android Runtime):
    • 与DVM的区别
  • 4. 什么是JIT?
    • 4.1 什么是JIT
    • 4.2 JIT 编译的优势包括:
    • 4.3 对于 DVM 和 ART,它们在 JIT(Just-In-Time)编译方面有哪些不同的实现?
  • 总结
  • 扩展阅读

JVM(Java Virtual Machine)、DVM(Dalvik Virtual Machine)和ART(Android Runtime)是三种不同的虚拟机技术,用于在不同的环境中执行Java代码。它们之间的主要区别如下:

1. JVM(Java Virtual Machine):

  • JVM是Sun Microsystems开发的Java虚拟机,用于在桌面和服务器环境中执行Java程序。
  • JVM使用即时编译(Just-In-Time Compilation,JIT)来将Java字节码转换为机器码,并在运行时动态地执行代码。
  • JVM主要用于执行Java程序,提供了内存管理、垃圾回收等功能。

JVM是基于栈的虚拟机,对于基于栈的虚拟机来说,每一个运行时的线程,都有一个独立的栈。

栈中记录了方法调用的历史,每有一次方法调用,栈中便会多一个栈桢。

最顶部的栈称作当前栈桢,其代表着当前执行的方法。

基于栈的虚拟机通过操作数栈进行所有操作。

在这里插入图片描述
在VM中执行字节码,将

int a =

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1829733.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【flink实战】flink-connector-mysql-cdc导致mysql连接器报类型转换错误

文章目录 一. 报错现象二. 方案二:重新编译打包flink-connector-cdc1. 排查脚本2. 重新编译打包flink-sql-connector-mysql-cdc-2.4.0.jar3. 测试flink环境 三. 方案一:改造flink连接器 一. 报错现象 flink sql任务是:mysql到hdfs的离线任务&…

基于ASRPRO智能离线语音识别模块实现人机交流对话应用

基于ASRPRO智能离线语音识别模块实现人机交流对话应用 ASRPRO智能离线语音识别模块简介ASRPRO智能离线语音识别模块功能介绍ASRPRO智能离线语音识别模块电路说明ASRPRO智能离线语音识别模块应用案例ASRPRO智能离线语音识别模块管脚说明ASRPRO芯片管脚分布图ASRPRO语音识别模块系…

统计套利—配对交易策略

配对交易是一种基于统计学的交易策略,通过两只股票的差价来获取收益,因而与很多策略不同,它是一种中性策略,理论上可以做到和大盘走势完全无关。 配对交易的基本原理是,两个相似公司的股票,其股价走势虽然在…

基于51单片机贪吃蛇小游戏

基于51单片机贪吃蛇小游戏 (仿真+程序) 功能介绍 具体功能: 1.用74HC573驱动点阵显示游戏画面; 2.上电后贪吃蛇会自动寻食; 3.按下四个按键中的任何一个就手动寻食了; ​演示视频&#xf…

【MySQL】(基础篇十三) —— 联结

联结 本文介绍什么是联结,为什么要使用联结,如何编写使用联结的SELECT语句。介绍如何对被联结的表使用表别名和聚集函数。 SQL最强大的功能之一就是能在数据检索查询的执行中联结(join)表。联结是利用SQL的SELECT能执行的最重要…

CloudFlare 里如何设置参数传递的 301 重定向

自从接到【哈哈,笑死我了都,黔驴技穷了都!】一文里提到的代维客户订单,这两天明月就一直在加班加点的重新部署着客户的四个服务器,因为有三个都是 WordPress+WooCommerce 式的电商平台,很是有些费时费力,好在现在基本都搞定了,剩下的就是些细节方面的优化、调整了。期间…

Java - IDEA在debug时怎么复制JSONObject或JSONArray的值

问题 调试代码时,想复制一个接口的请求参数,因为是JSONObject类型,不能像其他基本类型一样,直接复制出所有结果。 复制只能复制size 0出来。 要是一个个key value可太麻烦了... 方法 右键参数 弹出的框中,可以执行…

创建comfyui自定义节点

参考 https://github.com/liubai-liubai/ComfyUI-ImgSeg-LB/tree/main https://blog.styxhelix.life/?p33 安装 不需要安装任何其他依赖文件,只需要把0x_erthor_node文件夹复制到custom_nodes文件夹下,就能安装成功。 a1:展示了代码结构&…

rclone 上传资料到 onedrive 遇到限速问题解决

原因分析 可能和脚本参数设置有关系,我的参数是: rclone copy "F:\阿里云盘\6666\局域网" "od:影视" --ignore-existing -u -v -P --transfers20 --ignore-errors --buffer-size128M --check-first --checkers10 --drive-acknowledge-abuse差不多8G大小的…

基于STM32和人工智能的智能气象站系统

目录 引言环境准备智能气象站系统基础代码实现:实现智能气象站系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统4.4 用户界面与数据可视化应用场景:智能气象管理与优化问题解决方案与优化收尾与总结 1. 引言 随着气象科技的进步,智能…

tokenization(二)子词切分方法

文章目录 概述BPE构建词表词元化代码实现 WordPieceUnigram估算概率(E)删除词元(M) 参考资料 概述 接上回,子词词元化(Subwords tokenization)是平衡字符级别和词级别的一种方法,也…

【Java】已解决java.lang.NoClassDefFoundError异常

文章目录 一、问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.lang.NoClassDefFoundError异常 一、问题背景 java.lang.NoClassDefFoundError 是 Java 运行时环境(JRE)在尝试加载某个类时,但没有找到…

【Java】已解决:Java.lang.OutOfMemoryError: GC overhead limit exceeded

文章目录 问题背景可能出错的原因错误代码示例正确代码示例注意事项 问题背景 java.lang.OutOfMemoryError: GC overhead limit exceeded 是Java虚拟机(JVM)在运行时遇到的一种内存溢出错误。这种错误通常发生在应用程序的堆内存(Heap Memor…

异或运算的原理以及应用

异或(XOR)是计算机科学和数字电路中常用的运算之一。异或运算符通常用符号“⊕”或“^”表示,它有着简单而独特的性质,使其在数据加密、错误检测与纠正等多个领域得到了广泛的应用。在网络上我们传输的每一比特数据都经过了异或运…

【深度学习量化交易1】一个金融小白尝试量化交易的设想、畅享和遐想

关注我的朋友们可能知道,我经常在信号处理的领域出没,时不时会发一些信号处理、深度学习科普向的文章。 不过算法研究久了,总想做一些更有趣的事情。 比如用深度学习算法赚大钱。。毕竟有什么事情能比暴富更有意思呢。 一、神经网络与彩票…

嵌入式复古游戏项目开发与实现

大家好,今天看到一个火柴盒项目,非常的小巧,分享给大家,感兴趣的话,可以复刻一个玩一玩。 MicroByte 是一款微型主机,能够运行 NES、GameBoy、GameBoy Color、Game Gear 和 Sega Master 系统的游戏,所有元器件都设计在这 78 x 17 x 40 mm 的封装中。尽管成品尺寸很小,但…

探索AI创新的前沿——从零开始学习和运用SpringAI

1.SpringAI介绍 SpringAI是AI工程师的一个应用框架,它提供了一个友好的API和开发AI应用的抽象,旨在简化AI应用的开发工序。 目标是将可移植性和模块化设计等设计原则应用于AI领域的Spring生态系统,并将POJO作为应用程序的构建块推广到AI领域…

Java语法和基本结构介绍

Java语法和基本结构是Java编程的基础,它决定了Java代码的书写方式和程序的结构。以下是Java语法和基本结构的一些关键点: 1.标识符和关键字:Java中的标识符是用来标识变量、函数、类或其他用户自定义元素的名称。关键字是预留的标识符&#x…

文章解读与仿真程序复现思路——电工技术学报EI\CSCD\北大核心《计及台风时空特性和灵活性资源协同优化的配电网弹性提升策略》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

树的基本概念

树(Tree) "树"这种数据很像现实生活中的“树”, 这里的每个元素我们叫做“节点” 用来连线相邻节点之间的关系,我们叫做“父子关系” A节点就是B节点的父节点,B节点是A节点的‘子节点’B,C,D这三个节点的…