android面试——java基础
文章平均质量分 79
秋包
这个作者很懒,什么都没留下…
展开
-
Android实习面试准备——java基础(三)
1、JVM DVM ART的区别 JVM是java语言编译代码的运行平台,JVM结构包括运行时数据区、执行引擎、本地方法库和本地方法接口组成。DVM是Dalvik虚拟机,是Google专门为Android平台开发的虚拟机,DVM并不是JVM,因为它没有遵循JVM的规范。DVM与JVM的区别在于: (1)基于的架构不同。JVM是基于栈的,拷贝数据时需要大量的出入栈的指令和更多的内存访问次数,这会导致速度更慢,所以JVM并不适合性能有限的移动设备。而DVM是基于寄存器的,不需...原创 2022-01-24 18:11:08 · 1396 阅读 · 0 评论 -
Android实习面试准备——java基础(二)
1、Java中有几种引用关系,它们的区别是什么 java中数据类型分为基本数据类型和引用类型,指向对象的变量即是引用变量,通过引用对堆中的对象进行操作。java的垃圾回收也是根据引用来决定。在JDK1.2以前,如果引用类型的数据的值是另一块内存的地址,就称这个引用数据为这块内存或者对象的引用,但是这太绝对了,一个对象只有被引用和没被引用两种状态,引用了就不被回收,没被引用就会瘦。如果我们想表示那些“内存不足时回收,内存充足时保留”的对象就没办法了。 所以java ...原创 2022-01-21 15:39:27 · 835 阅读 · 0 评论 -
Android实现面试准备——java基础(一)
1、什么情况下会发生栈内存溢出 栈是线程私有的,每个线程运行时所需要的内存就叫做栈。每个方法执行的时候都会创建一个栈帧,用来存储局部变量表、方法参数、返回地址等信息,每个栈由栈帧组成,所以要么是栈帧过大导致栈内存溢出,要么是栈帧过多导致溢出。 根据平台的不同,线程栈的大小不同,Linux(64-bit)中是1M,也就是说很难因为栈帧过大导致栈内存溢出,那么主要就是因为栈帧过多了,这一般是方法的递归调用引起的。 public static void main(S...原创 2022-01-20 16:26:02 · 332 阅读 · 0 评论