JAVA类加载机制基础

1、什么是JAVA类加载器子系统?

JAVA类加载器子系统的目的是将.class字节码文件加载到JVM内存中,并且它不负责判断程序能不能执行。

 

2、类加载的过程?

A:装载

B:链接

a:检查

b:准备

c:解析

C:初始化

 

 

 

3、执行初始化的情况?

A:初始化一个类的时候,即new一个对象

B:利用Class.forName()反射类

C:给静态变量赋值

D:给静态方法赋值

E:初始化一个类的子类

FJVM启动时

 

4、类加载的三种形式?

AJVM实例初始化加载

BClass.forName()反射加载

CclassLoader.LoaderClass()加载(不会自动加载静态变量,方法,块)

 

5、类加载器?

注:类加载器也是Java类,因为其它Java类的类加载器本身也要被类加载器加载,显然必须有第一个类加载器不是java类,这个就是BootStrapBootStrap它是嵌套在Java虚拟机内核中的,jvm启动,这个类就会启动,它是由c++语言编写的。

 

 

6、双亲委派模式加载类?

双亲委派的意思是指:加载当前类的时候,首先会将这个任务交给该类加载器的父类去执行,如果该类在此之前已经加载过,则直接返回该类的实例引用。如果到最后前面都没能找到该类已经加载,那起始类加载器就会尝试自己加载,默认的加载器是System/App类加载器。

 

7、双亲委派模式加载类的好处?

例:如果当前要加载类A,假设A已经被加载完成在内存中存在了一份A,那么再次加载它的时候,不是用这种模式的话,是不是就会存在两份相同的A?显然这样是不科学的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值