黑马程序员JVM系列学习——面试:类加载器总结

本文详细阐述了Java类加载器的作用,包括启动、扩展、应用程序和自定义加载器,以及双亲委派机制如何确保核心类的安全性。还介绍了如何打破双亲委派机制的几种方式,如重写loadClass和使用SPI机制等。
摘要由CSDN通过智能技术生成

1.类加载器的作用

类加载器负载在类加载过程中获取类的字节码并加载到内存中。通过加载字节码数据放入内存转换成二进制数组,接下来调用虚拟机底层方法将二进制数组转化成方法区和堆区中的数据。

2.有几种常见的类加载器

启动类加载器:加载核心类

扩展类加载器:加载扩展类(通用但不重要)

应用程序类加载器:加载项目中或第三方jar包中的类

自定义加载器:重写findClass方法(不是loadClass)

3.什么是双亲委派机制

每个Java实现的类加载器中保存了一个成员变量叫做父类加载器,自底向上查找是否加载过,再自顶向下进行加载,避免核心类被应用程序重写并覆盖,提升了安全性。

启动->扩展->应用程序->自定义

4.怎样打破双亲委派机制

重写loadClass方法,不再实现双亲委派机制

使用SPI机制+线程上下文类加载器

OSGi实现一整套类加载机制,允许同级类加载器之间互相调用

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值