博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JVM类加载(1)—加载
阅读量:5940 次
发布时间:2019-06-19

本文共 665 字,大约阅读时间需要 2 分钟。

1、加载:

查找并加载类,将.class文件中的二进制数据读入到内存中,放在运行时数据区的方法内,然后在堆内创建一个java.lang.class对象用来封装类在方法区内的数据结构。并且向程序员提供了访问方法区内的数据结构的接口,程序中类的实例通过getClass()方法获取类在堆中的class对象,通过class对象可以完成对方法区中类数据结构的访问。

class文件的加载方式:

(1)、本地系统加载

(2)、网络下载.class文件

(3)、jar包、zip文件中获取

(4)、从专有数据库中提取.class文件

(5)、将Java源文件动态编译为.class文件

类加载器的类型:

Java虚拟机自带的加载器

(1)、根类加载器(BootStrap),C++实现,Java程序员无法在代码中获取到该类

(2)、扩展类加载器(Extension),Java代码实现

(3)、系统类加载器(System),又叫应用加载器,Java代码实现

用户自定义的加载器

继承java.lang.ClassLoader,用户可以定制类的加载方式

Java规范允许类加载器在预料到某个类将要被使用时就预先加载它,如果在预先加载的过程中遇到class文件缺失或存在错误,类加载器会在首次主动使用该类时才报告错误(LinkageError错误), 如果这个类一直没有被程序使用,那么类加载器就不会报错。

类被加载进内存之后后就进入连接阶段。

转载于:https://www.cnblogs.com/qiyexue/p/6822183.html

你可能感兴趣的文章
CoinWhiteBook:区块链在慈善事业中的应用
查看>>
【二】express
查看>>
Mac上基于Github搭建Hexo博客
查看>>
What does corn harvester involve?
查看>>
阿里云服务器ECS开放8080端口
查看>>
前端常用排序详解
查看>>
Spring中实现监听的方法
查看>>
使用Tooltip会出现一个问题,如果行上出现复选框
查看>>
11.03T1 DP
查看>>
P2924 [USACO08DEC]大栅栏Largest Fence
查看>>
jQuery操作table tr td
查看>>
工作总结:MFC自写排序算法(升序)
查看>>
螺旋队列问题之二
查看>>
扩展运算符和解构赋值的理解
查看>>
手机H5显示一像素的细线
查看>>
Menu 菜单栏
查看>>
Integer跟int的区别(备份回忆)
查看>>
集合解析
查看>>
详解分布式应用程序协调服务Zookeeper
查看>>
软件工程之构建之法
查看>>