Day324.类加载子系统 -JVM
Posted 阿昌喜欢吃黄桃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day324.类加载子系统 -JVM相关的知识,希望对你有一定的参考价值。
类加载子系统
- 简图
一、类加载器与类的加载过程
1、类加载器子系统作用
- 常量池在运行过程中加载到内存里。叫运行时常量池
2、类加载器ClassLoader角色
3、类的加载过程
这里的类的加载过程是一个宏观上的概念
,分为三个环节:加载、链接、初始化
- 类的加载整体执行流程
- 加载流程图
- ①【加载】环节
- class文件获取来源
- ②【链接】环节
③【初始化】环节
一类只能被初始化一次,且初始化过程是被加锁的
- 具体代码表现:↓
静态变量&静态代码块
↓对应生成的.class字节码文件,里面会有对应的方法,会看到<client>
是自动生成的,而main
方法是我们定义的
二、类加载器分类
-
代码
BootstrapClassLoader无法获取到
1、虚拟机自带的加载器
①BootstrapClassLoader
②ExtensionClassLoader
③AppClassLoader
2、用户自定义的加载器
3、用户自定义加载器实现步骤
4、关于ClassLoader
5、ClassLoader的获取途径
三、双亲委托机制
- 代码演示:↓↓↓
- 双亲委派机制的优点:↓↓↓
- 沙箱安全机制
四、其他
- 类的主动使用和被动使用:
以上是关于Day324.类加载子系统 -JVM的主要内容,如果未能解决你的问题,请参考以下文章
一起重新开始学大数据-java篇-DAY26反射,正则表达式