• 深入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);
    }
    }

    姓名:曹晓阳 联系方式:1076675163@qq.com
  • 相关阅读:
    哇塞 今天是数论专场呢 我要爆炸了
    树状数组模板题 hdu 1166
    [思维]Radar Scanner
    [思维]Minimum Spanning Tree
    [容斥]数对
    [概率]Lucky Coins
    [数学]特征方程求线性递推方程的通项公式
    [树状数组][2019徐州网络赛I]query
    [计算几何]Piece of Cake
    [欧拉降幂][2019南京网络赛B]super_log
  • 原文地址:https://www.cnblogs.com/CAOXIAOYANG/p/6375717.html
Copyright © 2020-2023  润新知