JVM类加载机制
来源:互联网 发布:sql语句转换成linq 编辑:程序博客网 时间:2024/05/21 07:05
类加载过程
虚拟机把描述类的数据从class文件加载到内存,到使用完卸载出内存为止,它的整个生命周期包括如下几个过程:
加载:查找和导入Class文件。
验证:检查载入Class文件的字节流中包含的信息是否符合当前虚拟机的要求。验证阶段大体上会完成:文件格式、元数据、字节码、符号引用验证。
准备:给类的静态变量分配存储空间。
解析:将常量池内的符号引用转成直接引用的过程。
初始化:根据java文件中的代码初始化变量和其他资源。
加载器种类
1) 启动类加载器(Bootstrap ClassLoader):由C++编写,是JVM自带的加载器,主要用来读取Java的核心类库JRE/lib/rt.jar。无法被java程序直接引用。2) 扩展类加载器(Extension ClassLoader):负责加载java平台中扩展功能的一些jar包,包括jre/lib/ext/*.jar或-Djava.ext.dirs指定目录下的jar包。
3) 应用程序类加载器 (Application ClassLoader):负责记载classpath中指定的jar包及目录中class。如果应用程序中没有自定义过自己的类加载器,一般情况下就是程序中默认的加载器。
双亲委派模型
这些加载器之间的层次关系如图所示,称之为双亲委派模型。双亲委派模型要求除了顶层的启动类加载器外,其他的加载器都应当有自己的父类加载器。
双亲委派模型的工作过程是:如果一个类加载器收到了类加载的请求,它自己先不会去加载这个类,而是先把这个请求委派给父加载器去完成。因此所有的加载请求最终都应该传递到等起的类启动加载器中,只有当父加载器反馈自己无法完成加载请求时(它的搜索范围中没有找到所需的类),子加载器才会尝试自己进行加载。
阅读全文
0 0
- 【JVM】JVM类加载机制
- jvm类加载机制
- JVM类加载机制
- JVM-类加载机制
- JVM类加载机制
- JVM类加载机制
- JVM类加载机制
- JVM类加载机制
- JVM类加载机制
- JVM类加载机制
- JVM类加载机制
- JVM类加载机制
- JVM--类加载机制
- jvm类加载机制
- JVM类加载机制
- JVM类加载机制
- JVM类加载机制
- JVM类加载机制
- nn bp
- 设计模式——状态模式
- cuda7.5的 安装、测试、visual studio2013环境中的配置
- vue2.0 axios前后端数据处理
- 爬坑之Android Studio 下使用crosswalk,使用maven依赖库打包
- JVM类加载机制
- 混合开发hybrid app(3)怎么增强webview安全功能 和 适配不同手机分辨率的html
- Mybatis调用存储过程
- Tomcat 8 启动startup.bat闪退的解决方法
- 写作建议
- POJ3692 Kindergarten
- sql 把字符串转成数字
- Linux 处理数据文件
- HBase HFile与Prefix Compression内部实现全解