拉勾Java工程师P7训练营 高薪笔记
类加载过程
加载模块
1.通过完全限定类获取定义该类的二进制字节流;
2.将该字节流表示的静态存储结构转换为方法区的运行时数据;
3.生成一个java。lang.Class对象,它表示类,并充当类在方法区域中的各种数据的访问点
链接到模块
验证
1.确保类文件中的字节流满足当前VM的要求,确保加载的类的正确性,并且不影响VM的安全性。
2.主要包括四种验证:文件格式验证、源数据验证、字节码验证、符号引用验证。
准备
1.为类变量分配内存,并将类变量的默认初始值设置为零。
不包括带有final的Static,因为final在编译时分配,并在准备过程中显式初始化。
类变量在方法区域中分配,而实例变量在Java堆中与对象一起分配。
解析
1.将常量池中的符号引用转换为直接引用的过程。
2.实际上,解析操作是在初始化后用JVM执行的
3.符号参照是描述被参照对象的一组符号。符号应用程序的文字形式在Java虚拟机规范的类文件格式中有明确定义。直接引用是直接指向目标的指针、相对偏移量或间接指向目标的句柄
4.解析操作主要针对类或接口、字段、类方法、接口方法和方法类型。常量池中的常量类信息、常量字段参考信息和常量方法参考信息。
初始化模块
1.Clinit()是类或接口初始化方法。请注意,它不是构造函数init()。
2.这个方法不需要定义,它是静态代码块中的语句和Java编译器为类中的所有类变量自动收集的赋值操作的组合。
3.我们注意到,如果没有静态变量C,字节码文件中就不会有Clinit方法
构造函数方法Clinit()中的指令按照语句在源文件中出现的顺序执行
虚拟机必须确保一个类的Clinit()方法在多个线程中同步锁定,这意味着一个类在其内部信息存储到方法区域之前只需要Clinit一次。
拉勾Java工程师P7训练营 高薪笔记相关推荐
- Python学习笔记——流程控制(拉勾教育数据分析实战训练营学习笔记)
流程控制 1 程序结构 顺序结构 按编写顺序依次执行 选择结构 根据条件选择的结果,选择执行不同的语句 循环结构 在一定条件下,反复执行某段程序 2 选择语句 2.1 if语句 语法规则 ...
- 拉勾启源老师mysql讲义,【拉勾教育数据分析实战训练营】--Tableau学习笔记-重点回顾1...
[拉勾教育数据分析实战训练营]--Tableau学习笔记-重点回顾1 [拉勾教育数据分析实战训练营]--Tableau学习笔记-重点回顾1 以下是我搜罗的一些官方优秀case分享: 1.https:/ ...
- 11.1 常用的包(熟悉) | 拉勾Java就业急训营
学习资源来源:拉勾教育_Java就业急训营 11.1 常用的包(熟悉) 11.1.1 包的名称和功能 java.lang包--该包是Java语言的核心包,并且该包中的所有内容由Java虚拟机自动导入. ...
- 《拉勾Java高薪课程》阶段一输出 之 通过房屋租赁流程理解设计模式(单例模式,代理模式,工厂模式)--菜鸟小回
通过房屋租赁流程理解设计模式(单例模式,代理模式,工厂模式) 文章目录 通过房屋租赁流程理解设计模式(单例模式,代理模式,工厂模式) @[toc] 一.单例模式 1. 相关概念 2. 演示思路 3. ...
- 拉勾教育《产品经理高薪训练营》课程思维导图
- Matlab运算于内部函数,java工程师面试突击第三季笔记
在MATLAB中,字符串是用单撇号括起来的字符序列.MATLAB将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同.也可以建立多行字符串矩阵.在MATLAB中,字符串是用单引号括起 ...
- 拉勾产品经理实战训练营
全方位认识产品经理,做好自我定位 产品从无到有概况,掌握产品全部流程 掌握用户需求分析,让产品有源可溯 敏捷方法与用户故事,线框图 TO B产品设计的系统设计思路 . . .
- 拉勾教育第五期学习笔记
CSS核心样式.HTML5 + CSS3新特性 css常用样式-font-weight 粗细font-weight 作用:设置文字是否加粗显示: 属性名:font-weight,属于font属性的一个 ...
- 拉勾就业急训营java学习笔记说明
谈谈在拉勾java学习的初始感受 首先说说关于拉勾课程 在决定学习java技术栈的时候,个人也零零碎碎的看了很多资料,但是一直有一个问题困扰着我,java生态包含了各种各样的模块,我该从哪些模块学起? ...
最新文章
- access mysql字段对应_ACCESS数据库中表与字段名称修改
- 学python需要什么基础知识-学Python需要什么基础知识?零基础可以学Python吗?
- vb.net2019- 目录
- thinkPHP增删改查的方法案例
- mysql堵塞等级_MySQL 事务隔离级别
- (15)FPGA面试题存储器资源区别
- 7. where loop
- C++--第0课 - 学习C++的意义
- 面向对象程序设计——基于JML的地铁系统
- 医学自然语言处理(NLP)相关论文汇总之 NAACL 2022
- 深度学习英语-迭代法(01)故事法,一个新的尝试
- 让孩子喜欢科学的31部少儿科普书籍
- 【九九乘法表】javascript做九九乘法表
- 【git】Git版本控制
- 【统计建模与R软件】第二章 R软件的使用 课本课后习题 答案 解析 代码
- 五镜头倾斜摄影相机和大疆M200完美配合,让公园规划和验收更便捷
- 购买mysql服务器时需要考虑的问题
- 广州车展5款车型自动驾驶配置盘点
- Python challenge 全部题解
- 平显火控设备自动测试系统的设计