Android面试题——JVM
创始人
2024-05-29 00:50:26
0

Android平台的虚拟机是基于栈的吗?

在这里插入图片描述
在这里插入图片描述

JVM运行时数据区

在这里插入图片描述

运行时栈

在这里插入图片描述

基于栈的虚拟机

在这里插入图片描述
在这里插入图片描述
第0行表示将一个Int型的1推送至操作数栈栈顶,程序计数器指向第0行。第一行字节码表示将栈顶的int型数值存入第一个本地变量,这两行代码就进行了给局部变量赋值的操作,第二三行同理。第4、5行表示将局部变量表的数入栈,第六行表示将栈顶两int型数值相加并将结果压入栈顶。第七行表示将单字节常量(-128~127)9推送至栈顶,因为这个字节占用两个字节码单元,所以下一行的行号是 9。9表示将栈顶两个数相乘并放入栈顶,第a行表示将栈顶的数存入本地变量。从这些操作我们可以看出都是操作操作数栈的。

Dalvik虚拟寄存器

JVM基于栈则意味着需要去栈中读写数据,所需的指令会更多,这样会导致速度变慢,对于性能有限的移动设备,显然不是很适合的。DVM是基于寄存器的,它没有基于栈的虚拟机在复制数据时而使用的大量的出入栈指令,同时指令更紧凑、更简洁。但是由于显式指定了操作数,所以基于寄存器的指令会比基于栈的指令要大,但是由于指令数量的减少,总的代码数不会增加多少.
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

各自特点

在这里插入图片描述

如何看待基于栈的虚拟机?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如何看待基于寄存器的虚拟机

在这里插入图片描述

为什么dex文件比class文件更适合移动端

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

class文件结构

在这里插入图片描述
在这里插入图片描述
· u1:1字节,无符号类型。
· u2:2字节,无符号类型。
· u4:4字节,无符号类型。
· u8:8字节,无符号类型。

文件头

在这里插入图片描述

常量池

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类信息

在这里插入图片描述

字段表

在这里插入图片描述

方法表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

属性信息

在这里插入图片描述

dex文件

在这里插入图片描述

class文件 vs dex文件

在Java SE程序中,Java类被编译成一个或多个.class文件,并打包成jar文件,而后JVM 会通过相应的.class 文件和jar 文件获取相应的字节码。执行顺序为.java 文件→.class文件→.jar文件,而DVM会用dx工具将所有的.class文件转换为一个.dex文件,然后DVM会从该.dex文件读取指令和数据。执行顺序为.java文件→.class文件→.dex文件。
jar文件里面包含多个.class文件,每个.class文件里面包含了该类的常量池、类信息、属性等。当JVM加载该.jar文件的时候,会加载里面的所有的.class文件,JVM的这种加载方式很慢,对于内存有限的移动设备并不合适。而在.apk文件中只包含了一个.dex文件,这个.dex文件将所有的.class里面所包含的信息全部整合在一起了,这样再加载就加快了速度。.class文件存在很多的冗余信息,dex工具会去除冗余信息,并把所有的.class文件整合到.dex文件中,减少了I/O操作,加快了类的查找速度。
在这里插入图片描述
在这里插入图片描述

索引区

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

你能不能自己写一个叫做java.lang.Object的类?

在这里插入图片描述
在这里插入图片描述

字节码加载

在这里插入图片描述

方法区

在这里插入图片描述

方法区实现

在这里插入图片描述

Java程序的双亲委派模型

在这里插入图片描述

Android程序的双亲委派模型

在这里插入图片描述
在这里插入图片描述

ClassLoader源码

在这里插入图片描述
在这里插入图片描述

加载自己写的Object类

在这里插入图片描述

双亲委派模型的好处

在这里插入图片描述

为什么要打破双亲委派模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

所有被new出来的实例,都是放在堆中的吗?

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

GC为什么会导致应用程序卡顿?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分代回收

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

垃圾检测算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

垃圾回收算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Android平台虚拟机中的CG又是怎样的?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

双重检测的单例,为什么还要加volatile关键字?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

安徽新一批招聘公告来了!附岗位... 近期安徽新一批招聘公告出炉有适合你的岗位吗?一起来看看吧↓↓↓北京师范大学淮南实验学校教师招聘启事招...
21日可赏火星东方照 来源:新华网新华社记者 王珏玢 朱筱21日9时34分将迎来火星东方照。当天傍晚,火星位于天空正南方。...
这届剑网3玩家,在WPS里「作... 在大部分打工人眼里,WPS是办公标配,写PPT、做表格、赶周报的必需。但最近有些不同。4月14日开始...
观众称看机器人跑马像看科幻片 转自:河南商报 #跑马人形机器人参赛团队发声#【#观众称...
18年,30万人青春接力!湖南... 今天,中国建设银行湖南省分行·2025湖南(春季)百公里出征,近万名毅行者共迎风雨,集体挑战徒步穿越...
宇树科技回应机器人马拉松摔倒:... 4月19日,首届人形机器人半程马拉松在北京开跑。多个网传视频显示,宇树科技G1人形机器人在跑步过程中...
4万股民慌了!居然智家董事长突... 正在正常经营中的居然之家。 李凯旋/摄本报记者   李凯旋   北京报道如果不是因为这件事,那投资者...
“使命就是科研报国!”庞众望“... 转自:新京报评论从“庞众望”们身上可以看到,我们的国与家的未来,都充满希望。▲庞众望在清华大学“科学...
江苏人爱读书!去年全省居民综合... 转自:微讯江苏爱读书、读好书、善读书,阅读始终是江苏大地上一道美丽的风景。4月19日,2025年江苏...
海口2025年一季度汽车“置换... 南海网4月19日消息(记者 张野)记者从海口市商务局获悉,海口将于4月20日正式开放2025年一季度...
学生入读高校三年无学籍无毕业证... 转自:北京新闻广播 【#学生入读高校三年无学籍无毕业证#...
AI赋能,新能源汽车产业在“智... 来源:新华社新华社记者 唐诗凝 高亢 于也童站在去年产销均超过1200万辆的新台阶上,有人会问,中国...
全球首个机器人马拉松!天工Ul... 当波士顿动力机器人还在表演后空翻时,中国科技圈已悄然开启新纪元——4月19日,全球首次“人机共跑”半...
白宫将设工作组紧急处理对中国加... 当地时间4月18日,美国哥伦比亚广播公司报道称,多名消息人士透露,由于特朗普政府对中国商品加征的畸高...
河北自贸试验区“牵手”海南自贸... 河北自贸试验区“牵手”海南自贸港签署全面深化合作框架协议,明确10项合作内容河北港口集团曹妃甸矿石码...
马斯克突然“低调”了 报道称,马斯克在关键政策上的影响力显示出局限性,其在在内阁会议上的表现明显低调、在X平台上的活跃度也...
周五不加班,加个微信吧! 转自:新和成周五的夜晚 我们不谈工作,谈谈感情  4月18日晚,当城市渐渐亮起灯火,新昌风铃小院开启...
东城打造170余条“安心通学路... 新京报讯 据“北京东城”微信公众号消息,近日,北京市“安心通学路”建设工作现场会在东城区灯市口小学召...
反对美对华物流、海事和造船领域... 4月19日,中国物流与采购联合会在官网发布《关于反对美对华物流、海事和造船领域301调查措施的声明》...
一夜连震47次!日本“可能发生... 当地时间18日20时18分,日本长野县发生5.1级地震,多地震感强烈。随后当地连续发生47次地震,居...