深入java虚拟机-类加载机制
来源:互联网 发布:php url传递session 编辑:程序博客网 时间:2024/06/05 09:55
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,解析,初始化,最终形成可以被虚拟机执行的java文件。---->>类的加载机制
加载时机:
1,加载
2,验证
3,准备
4,解析
5,初始化
2~4步被称为连接;
什么时候必须进行初始化?
1,遇到new,getstatic,putstatic,invokestatic这四条指令时;生成这四条指令最 常见的java代码场景是:创建对象时(new关键字),读取和设置一个类的静态 字段(被final修饰,已在编译器把结果放入常量池的静态字段除外),以及调用 一个类的静态方法;
2,使用reflect包中的方法对,类进行反射调用的时候;
3,当初始化一个类的时候,发现父类还没有进行过初始化,则需要先触发对父类的初 始化;
4,当虚拟机启动时,用户需要指定一个主类(包括main方法),虚拟机会对其进行 初始化;
5,以上四种行为表示对该类进行主动引用;既然有主动引用也会有被动引用
被动引用例子:
//通过子类引用父类的静态字段不会导致子类的初始化public class SuperClass{ static { System.out.println("SuperClass init"); } public static int value = "123";}public class SubClass extends SuperClass{ static { System.out.println("SubClass init"); }}public static void main(String[] args){System.out.println(SubClass.value);}
- 深入java虚拟机-类加载机制
- 深入理解java虚拟机【类加载机制】
- 【深入理解Java虚拟机】类加载机制
- 【深入Java虚拟机】:类加载机制
- 深入Java虚拟机-类加载机制
- java虚拟机类加载机制---《深入理解java虚拟机》读书笔记
- 【深入Java虚拟机】之四:类加载机制 | Java虚拟机
- Java虚拟机类加载机制---深入理解Java虚拟机
- 深入理解Java虚拟机--Java虚拟机类加载机制
- 深入理解java虚拟机-4 虚拟机类加载机制
- 深入理解Java虚拟机--虚拟机类加载机制
- 《深入理解Java虚拟机》虚拟机类加载机制
- 深入理解java虚拟机-读书笔记4-虚拟机类加载机制
- 10.《深入理解Java虚拟机》虚拟机类加载机制
- 深入理解Java虚拟机5~虚拟机类加载机制
- 《深入理解java虚拟机》-虚拟机类加载机制
- 深入理解JAVA虚拟机(四):虚拟机类加载机制
- 深入理解Java虚拟机:虚拟机类加载机制
- Android服务注册完整过程源码分析
- DEDECMS网站地图制作XML格式
- 超棒的30款JS类库和工具
- The Data Warehouse ETL Toolkit学习笔记-架构(数据流主线―数据访问)
- 《游戏脚本的设计与开发》-序
- 深入java虚拟机-类加载机制
- 学习OpenCV(中文版)PDF及随书源码
- iOS 6应用开发实战
- 深度解析:清理烂代码
- android sharedPreferences的用法
- Linux TCP/IP performance tune
- MYSQL 创建JOB 折腾过程
- 如何修改网卡的MAC地址?
- Android根据IP获取地理位置,精确到经纬度