美文网首页Android开发Android开发Android开发经验谈
Android:Java类加载过程面试题集锦

Android:Java类加载过程面试题集锦

作者: 像程序那样思考 | 来源:发表于2019-07-24 21:45 被阅读5次

    前言

    很多人面试之前,可能没有在互联网公司工作过或者说工作过但年头较短,不知道互联网公司技术面试都会问哪些问题? 再加上可能自己准备也不充分,去面试没几个回合就被面试官几个问题打蒙了,最后以惨败收场。

    下述是我收录整理的Android面试题汇总,由于篇幅原因,在这只把Java类加载部分的题目列举出来,后续还会更新其余面试题内容,大家可以关注一下我,及时知晓我更新的知识点,同时这份面试集锦的整理也花费了我很多时间,有需要的朋友可以帮忙转发分享下,点个赞~

    1、Java的类加载过程

    jvm将.class类文件信息加载到内存并解析成对应的class对象的过程,注意:jvm并不是一开始就把所有的类加载进内存中,只是在第一次遇到某个需要运行的类才会加载,并且只加载一次

    主要分为三部分:1、加载,2、链接(1.验证,2.准备,3.解析),3、初始化

    1:加载

    类加载器包括 BootClassLoader、ExtClassLoader、APPClassLoader

    2:链接

    验证:(验证class文件的字节流是否符合jvm规范)

    准备:为类变量分配内存,并且进行赋初值

    解析:将常量池里面的符号引用(变量名)替换成直接引用(内存地址)过程,在解析阶段,jvm会把所有的类名、方法名、字段名、这些符号引用替换成具体的内存地址或者偏移量。

    3:初始化

    主要对类变量进行初始化,执行类构造器的过程,换句话说,只对static修试的变量或者语句进行初始化。

    范例:Person person = new Person();为例进行说明。

    Java编程思想中的类的初始化过程主要有以下几点:

    1. 找到class文件,将它加载到内存
    2. 在堆内存中分配内存地址
    3. 初始化
    4. 将堆内存地址指给栈内存中的p变量

    以上就是Android Java类加载过程的面试题目,后续还会更新其余面试题内容,大家可以关注一下我,及时知晓我更新的知识点,同时这份面试集锦的整理也花费了我很多时间,有需要的朋友可以帮忙转发分享下,点个赞~

    Android架构师之路很漫长,一起共勉吧!
    ——————分割线——————
    简书点赞可以有好几种赞,长按点赞按钮就会有选项,大家点赞的时候,麻烦点个超赞~在这里先谢谢您的支持啦!

    相关文章

      网友评论

        本文标题:Android:Java类加载过程面试题集锦

        本文链接:https://www.haomeiwen.com/subject/egfqrctx.html