JVM虚拟机学习笔记01:类的加载、连接、初始化
来源:互联网 发布:java方法泛型 t.class 编辑:程序博客网 时间:2024/05/21 18:34
类的加载、连接、初始化
加载:查找并加载二进制数据(将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构)
加载.class文件的方式:
1、从本地文件系统中直接加载
2、通过网络下载.class文件
3、从zip、jar等归档文件中加载.class文件
4、从专有数据库中提取.class文件
5、将Java源文件动态编译为.class文件
连接:1、验证:二进制数据是否完整、安全
2、准备:静态变量分配内存,并初始化为默认值
3、解析:符号引用转换为直接引用
初始化:为类的静态化变量赋予正确的初始值
类的主动使用和被动使用
主动使用:
1、创建了该类的实例
2、对某个类的静态变量进行了读/取操作
3、调用某类的静态方法
4、反射API,如Class.forName("com.js.Test")
5、初始化某个类的子类
6、JVM启动时标明的启动类,如:java com.js.Test
所有的JVM实现必须在某个类或借口被Java程序“首次主动使用”时才初始化他们(也就是只执行加载和连接,不执行初始化操作)
被动使用:其他情况皆属于被动使用。
阅读全文
0 0
- JVM虚拟机学习笔记01:类的加载、连接、初始化
- 深入Java虚拟机JVM类加载初始化学习笔记
- 深入Java虚拟机JVM类加载初始化学习笔记
- 深入Java虚拟机JVM类加载初始化学习笔记
- 深入Java虚拟机JVM类加载初始化学习笔记
- 深入Java虚拟机JVM类加载初始化学习笔记
- 深入Java虚拟机JVM类加载初始化学习笔记
- 深入Java虚拟机JVM类加载初始化学习笔记
- JVM类加载初始化学习笔记(转载)
- JVM类加载初始化学习笔记
- 深入Java虚拟机JVM类加载初始化学习
- JVM的类加载机制: 加载、连接、初始化。
- jvm(一)类的加载,连接,初始化简介
- jvm(二)类的加载,连接,初始化详解
- JVM(三) 类的加载、连接与初始化
- jvm之类的加载、连接、初始化
- JVM学习笔记五 :虚拟机类加载器
- JVM学习笔记之虚拟机类加载机制
- Ubuntu安装中文输入法
- matlab中findstr 与 strfind的两个函数举例
- java.io.EOFException: Unexpected end of ZLIB input stream解决
- pycharm常用设置(keymap设置及eclipse常用快捷键总结)
- 状态模式
- JVM虚拟机学习笔记01:类的加载、连接、初始化
- Kotlin学习笔记(1):标签
- mysql 如何定义游标-存储过程
- 二维数组中有关指针总结
- SSM框架搭建流程(本小白个人用)
- Android 自定义漂亮的圆形进度条
- Python+Eclipse+pyDev开发环境搭建
- Poj-1328 二维化一维 典型贪婪算法
- vmware10+centos6(64)搭建FTP服务