类装载器子系统


在JVM中负责查找并装载类型的那部分被称为类装载器子系统。

java虚拟机中有种类装载器:启动类加载器,和用户自定义加载器 。前者是jvm实现的一部分,后者是java程序的一部分。由不同的类装载器的类将被放在虚拟机内部的不同命名空间。

装载,链接以及初始化 类装载器子系统除了要定位导入二进制class文件外,还必须负责验证被导入类的正确性。为类变量分配并初始化内存,以及帮助解析符号引用。这些动作必须严格按以下顺序进行:

1 装载 --查找并装载类型的二进制数据。

2 链接 -- 执行验证,准备,以及解析。

验证:确保被导入类的正确性

准备:为类变量分配内存,并将其初始化。
解析: 把类型中的符号引用转换直接引用。

3 初始化 把类变量初始化为正确初始值。

启动类加载器: 只要符合java class文件格式的二进制文件。java虚拟机实现都必须能够从中辨别并装载其中的类和接口。(没个java虚拟机都必须有一个启动类装载器)

优质内容筛选与推荐>>
1、较快速在一个数组中查找最大值和最小值
2、葡萄城亮相2018微软技术暨生态大会,持续践行“赋能开发者”使命
3、揭秘:Windows10预览版监视你一举一动
4、JS中setTimeout是如何实现的
5、vue-v-model实现自定义样式の多选与单选


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号