一、分类:1.BootStrap Class Loader:启动类加载器,负责加载rt.jar文件中所有的Java类,即Java的核心类都是由该ClassLoader加载。在Sun JDK中,这个类加载器是由C++实现的,并且在Java语言中无法获得它的引用。2.Extension Class Lo...
分类:
编程语言 时间:
2014-11-20 15:16:02
阅读次数:
246
以前一直有这样一个疑惑:
都说在JAVA中,由不同类加载器加载的类在虚拟机中位于不同的命名空间下,不同命名空间下的类相互不可见。
这让我产生了一个迷惑:如果有一个类A使用了java.util.List类,为什么在运行时会没有错误。因为按照类加载的双亲委派机制,自己写的类A一般由系统类加载器加载,而java.util.List肯定是由启动类加载器(也叫Root类加载器)加载的,所以...
分类:
编程语言 时间:
2014-11-05 01:56:35
阅读次数:
260
Java类加载器(Class loader)是一个很重要的概念,一直想写一篇关于这个的博客,今天看了不少别人的博客,也来写一下,希望能写的明白。首先明白类加载器的概念:顾名思义,类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java...
分类:
编程语言 时间:
2014-10-27 17:28:52
阅读次数:
331
1. 使用命令行查看类加载过程,在eclipse测试类的run configuration中配置-verbose:class或者-verbose,如下图所示:运行结果如下所示:[Opened D:\Program Files\jdk6\jre\lib\rt.jar][Loaded java.lang...
分类:
编程语言 时间:
2014-10-24 12:58:50
阅读次数:
726
类加载器主要负责加载编译好的.class文件1 java类加载器分类classloader|--bootstrap classloader(启动类加载器)|--extension classloader(扩展类加载器)|--system classloader(系统类加载器)|--user cust...
分类:
编程语言 时间:
2014-10-21 12:07:59
阅读次数:
222
1 非静态内部类为什么不能有静态成员,如下代码 Java代码public class OuterClass{ class InnerClass{ private static int i; }}对于java类加载顺序我们知道,首先加载类,执行static变量初始化,接下来执行对象的创建,如果我们要执...
分类:
其他好文 时间:
2014-10-18 20:54:00
阅读次数:
168
在Spring 3.x企业应用开发实战中看到一个能经常用到的jsp,记录下,查看类的加载路径,在jar包冲突引起的奇葩问题时很好用。使用方法srcAdd.jsp?className=java.net.URLsrcAdd.jar 使用方法,className参数为类的全名,不需要.class后缀,如....
分类:
编程语言 时间:
2014-10-11 20:47:46
阅读次数:
423
Java虚拟机如何把编译好的.class文件加载到虚拟机里面?加载之后如何初始化类?静态类变量和实例类变量的初始化过程是否相同,分别是如何初始化的呢?这篇文章就是解决上面3个问题的。 本文前面理论部分比较枯燥,...
分类:
编程语言 时间:
2014-09-29 13:24:41
阅读次数:
298
一、Java类加载机制1.概述Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。虚拟机把描述类的数据从class文...
分类:
编程语言 时间:
2014-09-17 21:50:22
阅读次数:
342
Copy from :http://www.cnblogs.com/zhguang/p/3154584.htmlJava系列笔记(1) - Java 类加载与初始化目录类加载器动态加载链接初始化示例类加载器在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解j...
分类:
编程语言 时间:
2014-09-14 14:05:07
阅读次数:
269