您的位置:首页 > 编程语言 > Java开发

JAVA类加载机制基础

2016-10-11 20:06 337 查看
1、什么是JAVA类加载器子系统?

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

 

2、类加载的过程?

A:装载

B:链接

a:检查

b:准备

c:解析

C:初始化

 


 

 

3、执行初始化的情况?

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

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

C:给静态变量赋值

D:给静态方法赋值

E:初始化一个类的子类

F:JVM启动时

 

4、类加载的三种形式?

A:JVM实例初始化加载

B:Class.forName()反射加载

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

 

5、类加载器?

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

 


 

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

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

 

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

例:如果当前要加载类A,假设A已经被加载完成在内存中存在了一份A,那么再次加载它的时候,不是用这种模式的话,是不是就会存在两份相同的A了?显然这样是不科学的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息