JVM 类加载过程

总体概括

类加载过程:加载 → 链接 → 初始化
其中,链接阶段包括:验证 → 准备 → 解析

加载

加载,是指查找字节流并据此创建类的过程。字节流的来源可能是.class文件也可能从网络加载。对于数组类型来说,它并没有字节流,由 java 虚拟机直接生成。对于其他类型来说,java 虚拟机需要借助类加载器来加载。

java9 之前,类加载器包括:启动类加载器,扩展类加载器,应用程序类加载器
java9 及以后:启动类加载器,平台类加载器,应用程序类加载器
类加载器遵循双亲委派原则,当某个类加载器加载类之前,先要将加载操作委派给父类加载器,当父类加载器加载不到该类时,才由自己来加载。这样是为了避免一个类被多次加载。

链接

链接是指将已经构造好的类合并到 java 虚拟机中。在合并之前,需要进行验证这个类的结构是否符合 java 虚拟机规范。然后需要给静态字段赋值,将符号引用变为直接引用。

  • 验证:验证加载的类是否满足java 虚拟机规范
  • 准备:给类的静态字段分配内存
  • 解析:将符号引用转化为直接引用

初始化

给类的静态字段赋值,其中包括静态字段的赋值语句和 static 代码块中的语句。这两部分的代码会被合并到<clinit>函数中,java 虚拟机会保证该方法只被执行一次。

面试准备

面试官:说一下类的加载过程
:java 类的加载过程分为加载、链接、初始化三个步骤。在加载步骤中,java 虚拟机借助类加载器来查找类的字节码,然后通过查找到的字节码构造出该类。链接步骤中,包含验证、准备、解析三个小步骤,其中验证就是指验证一下这个类的结构是否满足 java 虚拟机规范。准备是指为类的静态字段准备内存空间。解析是指将类的符号引用转化为直接引用。最后一个大步骤初始化,是指根据静态字段的赋值语句和类中的静态代码块给类中的静态字段赋值。
面试官:好的,回去等消息吧 ~
:啊?卧槽?

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 227,488评论 6 531
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 98,034评论 3 414
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 175,327评论 0 373
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 62,554评论 1 307
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 71,337评论 6 404
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 54,883评论 1 321
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 42,975评论 3 439
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,114评论 0 286
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 48,625评论 1 332
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 40,555评论 3 354
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 42,737评论 1 369
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,244评论 5 355
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 43,973评论 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 34,362评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 35,615评论 1 280
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 51,343评论 3 390
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 47,699评论 2 370

推荐阅读更多精彩内容