一、反射的基础
java程序中各个java类属于同一类事物,描述这类事物的java类名就是Class
比如说,很多人,用java来表示就用Person类,很多类,就用Class,Person类的实例对象比如张三、李四代表着一个个具体的人,而Class类就代表着各个类在内存中的字节码
一个类被类加载器加载进内存,会占用一片存储空间,这个空间的内容就是类的字节码,不同的类的字节码不同,所以他...
分类:
编程语言 时间:
2014-12-18 16:55:16
阅读次数:
246
所有类加载器,都是ClassLoader的子类。类加载器永远以.class运行的目录为准。在Java项目中可以通过以下方式获取classspath下的文件1 public static void main(String[] args) {2 ClassLoader loader=Lo...
分类:
其他好文 时间:
2014-12-17 20:27:27
阅读次数:
222
java.lang.Class:是反射的源头。创建一个类,通过编译,生成.class文件。之后使用java.exe加载(JVM的类加载器)加载此.class文件。加载到内存以后,就是一个运行时类,存在缓冲区。那么这个运行时类本身就是一个Class的实例。 1. 一个运行时类只加载一次 2. 有了Cl...
分类:
其他好文 时间:
2014-12-15 18:54:44
阅读次数:
168
跟其他主流的Java Web服务器一样,Tomcat也拥有不同的自定义类加载器,达到对各种资源库的控制。一般来说,Java Web服务器需要解决以下四个问题:
① 同一个Web服务器里,各个Web项目之间各自使用的Java类库要互相隔离。
② 同一个Web服务器里,各个Web项目之间可以提供共享的Java类库。
③ 服务器为了不受Web项目的影响,应该使服务器的类库与应用程序的类...
分类:
其他好文 时间:
2014-12-14 21:20:04
阅读次数:
217
上接深入java虚拟机——深入java虚拟机(二)——类加载器详解(上),在上一篇文章中,我们讲解了类的生命周期的加载和连接,这一篇我们接着上面往下看。 类的初始化:在类的生命周期执行完加载和连接之后就开始了类的初始化。在类的初始化阶段,java虚拟机执行类的初始化语句,为类的静态变量赋值,在程.....
分类:
其他好文 时间:
2014-12-14 00:33:07
阅读次数:
264
一.类加载器基本概念1. 获取class二进制字节码文件2. 转换成Class对象(defineClass()方法)3. 用newInstance()实例化对象二. 类加载器的树状组织结构Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的。1. 引...
分类:
编程语言 时间:
2014-12-08 17:43:18
阅读次数:
186
从Tomcat启动调用栈可知,Bootstrap类的main方法为整个Tomcat的入口,在init初始化Bootstrap类的时候为设置Catalina的工作路径也就是Catalina_HOME信息、Catalina.base信息,在initClassLoaders方法中初始化类加载器,然后通过反射初始化org.apache.catalina.startup.Catalina..
分类:
其他好文 时间:
2014-12-07 23:25:53
阅读次数:
151
从Tomcat启动调用栈可知,Bootstrap类的main方法为整个Tomcat的入口,在init初始化Bootstrap类的时候为设置Catalina的工作路径也就是Catalina_HOME信息、Catalina.base信息,在initClassLoaders方法中初始化类加载器,然后通.....
分类:
其他好文 时间:
2014-12-07 19:05:25
阅读次数:
205
ClassLoader是用来处理类加载的类,它管理着具体类的运行时上下文。 classloader是通过分层的关联方式来管理运行中使用的类,不同的classloader中管理的类是不相同的,或者即便两个类毫无二致(除了路径)也是不同的两个类,通俗的说就是,不同的类加载器加载的,即使是同一个类,也是不同的。所以,通过classloader的限制,我们可以建立不同的package路径以区别不同的类。那...
分类:
编程语言 时间:
2014-11-30 12:35:26
阅读次数:
247
目录 1.概述 2.简单过程 3.类加载器各自搜索的目录 4.类加载器的特点 5.类加载器的获取 6.类的加载 1.概述 类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。研究类加载机制的第二个目的...
分类:
编程语言 时间:
2014-11-29 21:35:20
阅读次数:
201