在使用Class.getResourceAsStream时,资源路径有两种方式,一种以 / 开头,则这样的路径是指定绝对
路径,如果不以 / 开头,则路径是相对与这个class所在的包的。
在使用ClassLoader.getResourceAsStream时, 路径直接使用相对于classpath的绝对路径。
举例,下面的三个语句,实际结果是一样的:
com.app.Test.class.getResourceAsStream("abc.jpg")
= com.app.Test.class.getResourceAsStream("/com/app/abc.jpg")
= ClassLoader.getResourceAsStream("com/app/abc.jpg")
1. Class.getResourceAsStream(String path):path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。
2. Class.getClassLoader.getResourceAsStream(String path):默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。(// 此加载方式可以'./*'前缀或无,但不能'/*'开头)
3. ServletContext.getResourceAsStream(String path):默认从WebAPP根目录下取资源,Tomcat下path是否以’/'开头无所谓,当然这和具体的容器实现有关。
相关推荐
classloader 加密解密应用程序 ,反编译class
1. 定义好接口和实现类 2. 让代理类通过反射的方式调用实现类,对外暴露的是代理类。 3. 自定义URLClassLoader。检查实现类.class文件的修改时间,如果是更新的.class文件则重新加载该实现类的class。 4. 调用方法前...
并且只有调用了newInstance()方法采用调用构造函数,创建类的对象看下Class.forName()源码//Class.forName(String c
NULL 博文链接:https://ldbjakyo.iteye.com/blog/1046984
破解java加密的ClassLoader.java,在classloader植入破解代码
Java 虚拟机中ClassLoader 相关简介 双亲委托机制 Android 中ClassLoader 简介
NULL 博文链接:https://lz12366.iteye.com/blog/735289
ClassLoader运行机制 自己写的ClassLoader运行机制 自己写的ClassLoader运行机制 自己写的ClassLoader运行机制 自己写的ClassLoader运行机制 自己写的
ClassLoader类加载机制和原理详解
自定义classloader的使用
ClassLoader原理,ClassLoader原理 ClassLoader原理
Java ClassLoader定制实例
用于验证理解Android中Classloader加载类机制的程序demo,从中可以对比DexClassLoader和PathClassLoader的区别联系。
自定义ClassLoader,控制台输入调试。 运行期间 重新载入指定目录的class文件。可实现对于类的功能函数更新。 用到java 反射,@interface 等技术
一个开源的Cplusplus类加载器,基于它实现了一个简单的例子,见我写的classloader的文章。
eclipse工程格式 博文链接:https://aga.iteye.com/blog/200818
java classloader classpath 张孝祥
破解java加密的rt.jar,在classloader植入破解代码,默认输出到c:/TEMP/classes/目录。使用方法:只要下载本rt.jar,然后替换掉jdk1.8.0_25\jre\lib目录下的rt.jar。然后运行你需要破解的java程序即可,如果你的java...
Classloader
理解Java ClassLoader机制