码迷,mamicode.com
首页 > 其他好文 > 详细

深入jvm

时间:2017-02-09 13:25:17      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:操作   分配   main   引用   二进制   stat   操作系统   exit   rgs   

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

标签:操作   分配   main   引用   二进制   stat   操作系统   exit   rgs   

原文地址:http://www.cnblogs.com/CAOXIAOYANG/p/6375717.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!