系列二、类装载器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());
    }

}
相关推荐
金銀銅鐵2 天前
同一个 Hello World,Kotlin 和 Java 在字节码层面差在哪
jvm·后端·kotlin
yeccheng3 天前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
On The Road :5 天前
深入理解 JVM 垃圾回收:GC 是什么、如何判定垃圾、四大回收算法全解析
jvm·算法
Yves..5 天前
JVM 学习笔记:内存区域、类加载机制与垃圾回收
jvm
akinggw6 天前
libagentcore - 一个基于c++的AI多agent系统升级到2.0版本
开发语言·jvm·c++
yh弓长6 天前
JVM 核心机制
jvm
tg_xianheyun7 天前
腾讯云国际账号注册代充值适合哪些海外业务场景?
jvm
yuniko-n7 天前
【JVM】对象内存布局
java·开发语言·jvm
wuminyu7 天前
JVM执行引擎学习总结:热点字节码编译成本地机器码
java·linux·c语言·jvm·c++
wuminyu7 天前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++