类加载器
文章平均质量分 75
闲着没事_玩玩JAVA
这个作者很懒,什么都没留下…
展开
-
【简洁版:My类加载器】
MyClassLoader.javapackage com.xiaozhi.myclassloader;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.i原创 2014-04-04 20:18:46 · 522 阅读 · 0 评论 -
【类加载器的高级问题——改变servlet的类加载器】
1、编写一个能打印自己的类加载器名称和当前类加载器的父子结构关系链的Servlet,正常发布后,能看到打印结果,第一个加载器是WebAppClassLoader。2、把该Servlet的class文件打成jar包,放到ext目录下,重启tomcat,发现报找不到HttpServlet的错误。3、把servlet-api.jar也放到ext目录下,问题解决,打印结果为Wx原创 2014-03-30 16:36:26 · 1096 阅读 · 0 评论 -
【类加载器】————类加载器之间的父子关系以及管辖范围【委托机制】
1、得到和修改本类的加载器CLASSPATH指定的所有jar或目录采用AppClassLoader加载器加载package com.xiaozhi.loader;public class LoaderTest { public static void main(String[] args) { System.out.println(LoaderTest.class.原创 2014-03-29 13:01:16 · 2529 阅读 · 1 评论 -
【自己动手写类加载器1】实现加密功能:生成加密class文件,复制到bin目录下,AppClassLoader加载出错
首先写一个过会加载器用来加载的类:package com.xiaozhi.myclassloader;public class ClassLoaderAttachment { @Override public String toString() { return "hello heima"; }}测试类:package com.xiaozhi.tes原创 2014-03-29 21:01:42 · 766 阅读 · 0 评论 -
【自己动手写类加载器2】覆盖findClass(String name)方法,删除bin目录下的加密的class文件
1、要想实现自己的类加载器能够加载类,需要覆盖findClass(String name)方法,因为类加载器的loadClass(String name)方法最终调用的还是findClass(String name)。2、由于类加载器使用的委托机制,先看父类AppClassLoader能不能加载再看自己的类加载器能不能加载,所以要把原目录下刚才拷贝的class字节码文件删除,让自己原创 2014-03-30 11:04:00 · 1052 阅读 · 1 评论 -
【Class】(1)一共有两种对象,Class对象,实体类对象。(2)Class对象可以得到实体类的所有方法属性
类是用来描述一类事物的共性人的对象有:张三 李四 王五Class的对象有:Math.class Date.class Person.class一个类的字节码载入内存后,第二次载入的时候会判断内存中是否已经载入,如果已经载入,那么第二次载入的字节码和第一次载入的字节码是同一个字节码。package com.xiaozhi.box;public class Test原创 2014-03-23 21:55:54 · 1796 阅读 · 0 评论