java_223_JVM核心机制_线程上下文类加载器_web服务器类加载机制_OSGI技术模块开发原理介绍_练习

线程上下文类加载器(了解即可)
在这里插入图片描述
package java_223_JVM核心机制_线程上下文类加载器_web服务器类加载机制_OSGI技术模块开发原理介绍_练习;

import java_219_JVM核心机制_类加载全过程_初始化时机_类的主动引用和被动引用_静态初始化块执行顺序问题_练习.Demo01;

/**

  • 线程上下文类加载器及修改加载器
    */
    public class Demo05 {
    public static void main(String[] args) throws Exception {
    ClassLoader loader1 = Demo05.class.getClassLoader();
    System.out.println(loader1);//系统默认的加载器

     //Thread.currentThread当前线程的线程
     ClassLoader loader2 = Thread.currentThread().getContextClassLoader();//getContextClassLoader获取上下文类装入器
     System.out.println(loader2);//获得默认上下文加载器
    
     //修改默认加载器;setContextClassLoader设置上下文类加载器;FileSystemClassLoader文件系统类加载器
     Thread.currentThread().setContextClassLoader(new FileSystemClassLoader("d:/myjava/"));
     //打印当前线程的线程;获取上下文类装入器
     System.out.println(Thread.currentThread().getContextClassLoader());
     
     System.out.println("=====举例==========");
     //例如
     Class<Demo01> c = (Class<Demo01>)Thread.currentThread().getContextClassLoader().loadClass("java_219_JVM核心机制_类加载全过程_初始化时机_类的主动引用和被动引用_静态初始化块执行顺序问题_练习.Demo01");
     System.out.println(c);
     
     System.out.println(c.getClassLoader());//因为定义了父类委派机制,所以结果与上面相同;可以在FileSystemClassLoader把父类委派机制关闭
    

    }
    }
    //-----------------------------------
    把上节课的public class FileSystemClassLoader extends ClassLoader{}类;复制到这个包下
    //结果-----------------------

在这里插入图片描述

TOMCAT服务器的类加载机制(了解即可)
TOMCAT类加载是各个独立的,相互之间不可调用
在这里插入图片描述
OSGI原理介绍(了解即可)
OSGI类加载不是独立的,相互之间可调用并且调用后会使用原来类的加载器;
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值