ssloader,系统classloader作为它的父亲。在Java中这样的层级关系是正常的,然而servlet规范复杂化了层级关系,因为它要求:
1)包含在WEB-INF/lib或者WEB-INF/classes中的类优先于在父classloader上的类。这和通常的Java 2 classloader的行为是对立的。
2)系统类例如java.lang.String被从webapp优先权...
分类:
其他好文 时间:
2014-08-11 17:54:32
阅读次数:
204
随着应用规模的逐渐增大,依赖的jar包数量也大幅增加,其中不乏多余的,用不到的jar包,占用了大量的宝贵空间。通过loosejar这个工具,便可轻松找到“滥竽充数”的jar包了~loosejar的工作原理是利用classloader。因为应用在运行的时候,用到哪个类,classloader就会把这个...
分类:
其他好文 时间:
2014-08-11 14:34:02
阅读次数:
138
Java的设计初衷是主要面向嵌入式领域,对于自定义的一些类,考虑使用依需求加载原则,即在程序使用到时才加载类,节省内存消耗,这时即可通过类加载器来动态加载。
如果你平时只是做web开发,那应该很少会跟类加载器打交道,但如果你想深入学习tomcat服务器的架构,它是必不可少的。所谓类加载器,就是用于加载Java类到Java虚拟机中,它负责读取Java字节码,并转换成java.lang.Class类...
分类:
编程语言 时间:
2014-08-10 21:43:30
阅读次数:
358
随着应用规模的逐渐增大,依赖的jar包数量也大幅增加,其中不乏多余的,用不到的jar包,占用了大量的宝贵空间。通过loosejar这个工具,便可轻松找到“滥竽充数”的jar包了~
loosejar的工作原理是利用classloader。因为应用在运行的时候,用到哪个类,classloader就会把这个类的.class文件加载到jvm中,然后生成一个class对象,然后再利用反射就可以执行这个类的...
分类:
其他好文 时间:
2014-08-10 21:43:01
阅读次数:
317
原文直通车:Class Loader HOW-TO 目录 概述 类加载器的定义 XML解析器和Java 运行在security manager下 概述 和其他服务器程序类似,Tomcat也定义了一些类加载器(实现了java.lang.ClassLoader的类)用以实现让Tomcat的容器的不同部分...
分类:
其他好文 时间:
2014-08-09 00:04:49
阅读次数:
273
ClassLoader的工作原理 每个运行中的线程都有一个成员contextClassLoader,用来在运行时动态地载入其它类 系统默认的contextClassLoader是systemClassLoader,所以一般而言java程序在执行时可以使用JVM自带的类、...
分类:
其他好文 时间:
2014-08-06 19:36:02
阅读次数:
303
java的类加载有两个重点,一是动态加载,一是父类加载。动态加载是指只有首次构建某个类的对象或者访问某个类的静态方法或者静态域的时候该类才会被加载。
那么这些类在java中又是怎么被加载的呢?就是Classloader。Java中一般有三种Classloader:Bootstrap Classloader,它被称为启动类加载器,它主要负责加载Java核心类,一般是指jre/lib下的...
分类:
编程语言 时间:
2014-08-06 19:27:22
阅读次数:
205
先回顾一下classpathclasspath的作用: classpath的作用是指定查找类的路径:当使用java命令执行一个类(类中的main方法)时,会从classpath中进行查找这个类。指定classpath的方式一: 设置环境变量CLASSPATH,多个路径之间使用英文的分号隔...
分类:
移动开发 时间:
2014-08-03 22:52:46
阅读次数:
324
第一步: 给你一个编译好的class文件以及它的包名,创建一个对象出来。 1)class文件源代码 Java代码packagecom.wsc.classloader;publicclassTool{publicvoidprint(){}} 2)使用javac Tool.java 编译成cla...
分类:
其他好文 时间:
2014-08-01 18:53:22
阅读次数:
216
1.对于servlet的读取资源文件,要考虑工程文件路径和tomcat服务器的部署后的文件,所以一定要弄清楚加载文件路径位置,同时要考虑采用哪种方式:
一般有三种方式:
(1).采用传统方式即jdk中提供的InputStream is = new FileInputStream("config.properties");
(2).采用ServletContext对象加载
(3).采用类...
分类:
其他好文 时间:
2014-07-28 15:52:49
阅读次数:
245