Java之ClassLoader基础知识
来源:互联网 发布:怎么下载旧版软件 编辑:程序博客网 时间:2024/05/16 08:34
- ClassLoader基本概念
Java程序并不是一个可执行文件,而是由许多独立的类文件组成的,每一个文件对应一个Java类。这些类文件并非全部装入内存,而是根据程序需要逐渐载入。并且ClassLoader是JVM实现的一部分。 - ClassLoader加载流程
当运行一个程序的时候,JVM启动,运行bootstrap classloader,该ClassLoader加载Java核心API,然后调用ExtClassLoader加载扩展API,最后AppClassLoader加载CLASSPATH目录下定义的Class。
另:类加载的过程使用了一种父类委托模式,主要原因是避免重复加载,还有出于安全因素的考虑。
一些重要的方法
- loadClass方法,是ClassLoader的入口点
class loadClass(String name, boolean resolve)
defineClass方法,接受由原始字节组成的数组,并把它转换成Class对象
findSystemClass方法,从本地文件系统装入文件
- resolveClass方法,可以不完全装入类,也可以不完全装入类
- findLoadedClass方法,允当一个缓存:
当请求loadClass装入类时,它调用该方法来查看ClassLoader是否已装入这个类,这样可以避免重新装入已存在类所造成的麻烦
- findClass方法,从本地文件系统使用实现的类装载器装载一个类
- getSystemClassLoader方法
- forName方法,Class类的一个静态方法
Class.forName()调用Class.forName(name, initialize, loader);
也就是说Class.forName("something");等同于Class.forName("something", true, CALLCLASS.class.getClassLoader());
0 0
- Java之ClassLoader基础知识
- Java ClassLoader基础知识
- java 虚拟机之classLoader
- Java虚拟机之ClassLoader
- Java之ClassLoader
- JAVA之CLASS、ClassLoader
- java学习之ClassLoader
- Java之Classloader
- JAVA之ClassLoader
- 重温java之classloader体系结构
- JAVA反射机制之ClassLoader
- Java之ClassLoader读取文件
- classloader相关基础知识
- classloader相关基础知识
- classloader相关基础知识
- classloader相关基础知识
- classloader相关基础知识
- classloader相关基础知识
- 2016年上半年信息系统项目管理师真题之上午题小虎趣味解答第1-5题
- platform_device与platform_driver
- servlet/filter/listener/interceptor区别与联系
- 解决问题(两步计算)
- mybatis极简教程
- Java之ClassLoader基础知识
- 【p1605-迷宫】解题记录
- MFC常用的类详细介绍
- C++ 引用变量
- ubuntu 16.04安装nVidia显卡驱动和cuda/cudnn踩坑过程
- ElasticSearch—分词器对String的作用
- PHP小功能
- 关于在anaconda中切换不同的python版本
- 机器人学,计算机视觉 MATLAB 心得