jvm_类加载机制

Posted mexding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jvm_类加载机制相关的知识,希望对你有一定的参考价值。

jvm_类加载机制
类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。

1.类加载的过程包括了加载、验证、准备、解析、初始化五个阶段

2.类初始化时机:只有当对类的主动使用的时候才会导致类的初始化,类的主动使用包括以下六种:

– 创建类的实例,也就是new的方式

– 访问某个类或接口的静态变量,或者对该静态变量赋值

– 调用类的静态方法

– 反射(如Class.forName(“com.shengsiyuan.Test”))

– 初始化某个类的子类,则其父类也会被初始化

– Java虚拟机启动时被标明为启动类的类(Java Test),直接使用java.exe命令来运行某个主类

3.结束生命周期

?在如下几种情况下,Java虚拟机将结束生命周期

– 执行了System.exit()方法

– 程序正常执行结束

– 程序在执行过程中遇到了异常或错误而异常终止

– 由于操作系统出现错误而导致Java虚拟机进程终止

4.类加载有三种方式:

1、命令行启动应用时候由JVM初始化加载

2、通过Class.forName()方法动态加载

3、通过ClassLoader.loadClass()方法动态加载

参考链接:
1.http://www.cnblogs.com/ityouknow/p/5603287.html

以上是关于jvm_类加载机制的主要内容,如果未能解决你的问题,请参考以下文章

JVM17_Tomcat打破双亲委派机制执行顺序底层代码原理Tomcat|JDBC破坏双亲委派机制带来的面试题

JAVA类加载过程_JVM加载Class文件的原理机制

JVM核心机制_类加载的全过程_java的内存分析_初始化时机。

Tomcat打破双亲委派机制执行顺序底层代码原理JVM04_Tomcat JDBC破坏双亲委派机制带来的面试

类加载机制的学习1______类加载器

JVM笔记二双亲委派机制