ClassLoader加载机制、分类、层次关系以及双亲委派机制

本文深入探讨Java的ClassLoader,包括动态加载机制、四大类加载器(BootStrapClassLoader、ExtClassLoader、AppClassLoader、自定义类加载器)及其层次关系。重点介绍了双亲委派机制,解释了为何采用此机制以保障JVM的安全性。
摘要由CSDN通过智能技术生成

0.1、ClassLoader的动态加载机制

一、原则:

         1、Java中的ClassLoader并非一次加载,而是在需要的时候才会加载。

         2、static语句块在加载后只会执行一次。

         3、dynamic语句块每次new新的对象都会执行。

                   * 执行在static语句块之后,构造函数之前

                   * 等同于构造方法中的语句

                   * 用的较少

         4、java -verbose:class参数可以观察类的具体加载过程。

二、下面我们首先来看一段代码

class A{
	public A(int i){
		System.out.println("A("+i+")");//A(2)
	}
}

class C{
	static A a1 = new A(1);
	public C(){
		System.out.println("C()");//C()
	}
	static{
		System.out.println("类C的static块");//类C的static块
	}
	{
		System.out.println("类C的动态语句块--此方法会无条件的加在每个构造函数之前");//类C的动态语句块--此方法会无条件的加在每个构造函数之前
	}
}

class D{  
    public D(){  
        System.out.println("D()的构造函数");  //D()的构造函数
    }  
}  
public class Test {

	public static void main(String[] args) {
		System.out.println("mai
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值