第二讲 类加载器

来源:互联网 发布:c语言指针传值 编辑:程序博客网 时间:2024/06/12 23:09

        1.类得加载最终产品位于堆栈区中得class对象

                class对象封装了类在方法内的数据结构,并且向java程序员提供了访问方法区内的数据结构得接口。

        2.有两种类得加载器

            (1)虚拟机自带的加载器

                      根类加载器(使用c++代码实现,程序员无法在java代码中获取该类);

                      扩展加载器(使用java代码实现);

                      系统类加载器(应用加载器,使用java代码实现)

package com.classDownload;public class Test1 {    public static void main(String [] args) throws ClassNotFoundException {        Class clazz=Class.forName("java.lang.String");        System.out.println(clazz.getClassLoader());    }}
                   可以通过.getClassLoader()查看类的加载方式

            (2)用户自定义得加载器

                      java.lang.ClassLoader的子类;

                      用户可以定制类的加载方式

            

                 3.JVM规范允许类加载器在预料某个类将要被使用时就预先加载它,如果在预先加载的过程中遇到了.class文件损坏或者错误,类加载器必须在程序首次主动使用该类时才报错误如果这个类一直没有被程序主动使用,那么类加载器就不也会报告错误(这里请结合第一讲)

原创粉丝点击