首页 > 代码库 > 深入jvm
深入jvm
1:ClassLoad
Jvm将要结束生命周期
1:执行了system.exit()方法
2:程序正常执行结束
3:程序在执行过程中遇到了异常或者错误而异常终止
4:由于操作系统错误使得jvm挂掉。
加载:查找并加载类的二进制数据
连接:
验证:确保被加载的类的正确性
准备:为类的静态变量分配内存,并将其初始化为默认值。
解析:把类中的符号转换为直接饮引用。
初始化:为类的静态变量赋予正确的初始值。
Java程序对类的使用方式可分为两种。
主动使用(6种)
被动使用
2:类加载器
Java虚拟机自带的加载器
根类加载器
扩展类加载器
系统类加载器
用户自定义的类加载器
Java.lang.ClassLoader的子类
用户可以自定义类的加载方式。
类的加载
类的验证
类的准备
类的解析
3:类的初始化
先初始化默认值,在赋值。
package com.google;
//final
import java.util.Random;
class Test{
//public static final int i=6/3;
public static final int i=new Random().nextInt(100);
static{
System.out.println("PAGE");
}
}
public class jvm {
public static void main(String[] args) {
System.out.println(Test.i);
}
}
深入jvm
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。