系列二、类装载器ClassLoader

一、能干嘛

1.1、方法区

存放类的描述信息的地方。

1.2、JVM中的类装载器

1.3、获取ClassLoader的方式

java 复制代码
/**
 * @Author : 一叶浮萍归大海
 * @Date: 2023/11/16 0:08
 * @Description: 获取类的加载器的方式
 */
public class ClassLoaderMainApp {

    public static void main(String[] args) throws ClassNotFoundException {
        // 获取类加载器的第一种方式
        Car car1 = new Car();
        ClassLoader classLoader1 = car1.getClass().getClassLoader();
        System.out.println("获取类加载器的第一种方式:" + classLoader1);

        // 获取类加载器的第二种方式
        ClassLoader classLoader2 = Class.forName("org.star.entity.Car").getClassLoader();
        System.out.println("获取类加载器的第二种方式:" + classLoader2);

        // 获取类加载器的第三种方式
        ClassLoader classLoader3 = Car.class.getClassLoader();
        System.out.println("获取类加载器的第三种方式:" + classLoader3);

        System.out.println("*********************");

        Object obj = new Object();
        System.out.println("Object类的根加载器:" + obj.getClass().getClassLoader());
        System.out.println("自定义类的加载器:" + Car.class.getClassLoader());
        System.out.println("自定义类的加载器(父亲):" + Car.class.getClassLoader().getParent());
        System.out.println("自定义类的加载器(爷爷):" + Car.class.getClassLoader().getParent().getParent());
    }

}
相关推荐
程序员zgh6 小时前
C语言 指针用法与区别(指针常量、常量指针、指针函数、函数指针、二级指针)
c语言·开发语言·jvm·c++
没有bug.的程序员6 小时前
熔断、降级、限流:高可用架构的三道防线
java·网络·jvm·微服务·架构·熔断·服务注册
风景的人生11 小时前
一台电脑上可以同时运行多个JVM(Java虚拟机)实例
java·开发语言·jvm
五阿哥永琪13 小时前
JVM 类加载的过程&类加载器&双亲委派机制
jvm
想学后端的前端工程师14 小时前
【Java JVM虚拟机深度解析:从原理到调优】
java·jvm·python
oioihoii14 小时前
C++多线程中join与detach机制深度解析
java·jvm·c++
最贪吃的虎14 小时前
JVM扫盲:内存模型
java·运维·jvm·后端
图乐aj14 小时前
运维工程师技能之JVM
运维·jvm
郝学胜-神的一滴15 小时前
Linux 多线程编程:深入理解 `pthread_join` 函数
linux·开发语言·jvm·数据结构·c++·程序人生·算法
代码or搬砖15 小时前
== 和 equals() 的区别
java·开发语言·jvm