jvm之类加载器-《疯狂java讲义》

时间:2015-05-19 20:50:53   收藏:0   阅读:226
1. 类加载器简介

        类加载器负责加载所有的类,系统为所有被载入内存中的类生成一个java.lang.Class实例。一旦一个类被载入JVM中,同一个类就不会被再次载入了。现在的问题是怎么样才算“同一个类”?正如一个对象有一个唯一的标识一样,一个载入JVM的类也有一个唯一的标识。

        同理,载入JVM的类也有一个唯一的标识,在java中,一个类用其全限定类名(包括包名和类名)作为标识。但在JVM中,一个类用其全限定类名和其类加载器作为其唯一的标识。因此,如果在pg包中,有一个名为Person的类,被类加载器KlassLoader的实例kl负载加载,则该Person类对应的Class对象在jvm中表示为(Person、pg、kl)。这意味着两个类加载器加载的同名类:(Person、pg、kl)和(Person、pg、kl2)是不同的。它们所加载的类也是完全不同的,互不兼容。

        当JVM启动时,会形成由三个类加载器组成的初始类加载器层次结构:

            JVM的类加载机制主要有如下三种机制:

原文:http://www.cnblogs.com/cuike/p/4515404.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!