类的加载classload
Posted yxth
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的加载classload相关的知识,希望对你有一定的参考价值。
在Java中最重要的可以说就是类的加载了。不论我们编写的功能多么复杂,或是多么简单,永远逃离不开的,就是将这个类从class文件加载到JVM中来。
首先我们要了解一下类的加载过程,包括:加载、连接(验证、准备、解析)、初始化、使用、卸载。
加载:将根据类的全限定名找到对应的Class文件,将它加载进JVM中,并生成Class对象保存在堆中。
连接:
验证:检查加载进来的类信息是否满足我们JVM的规范。
准备:对类中的静态变量分配内存空间,并赋予原始值。对常量直接赋予指定的值。
解析:将类中的符号引用转变为直接引用。
初始化:为类中的静态变量赋值,执行静态代码块。
下面我们用一个类来验证一下:
public class Main7 { private final int z = 6; private final static int k = 1; private static int i = 5; private int j = 2; static { i = 10; } { i = 11; j=3; } public static void main(String[] args) { } }
如上,我们定义一个Main7类,并对类中的每一步都打上断点,如下:
以上是关于类的加载classload的主要内容,如果未能解决你的问题,请参考以下文章