首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

自定义加载器怎么加载JAR包

2012-01-07 
自定义加载器如何加载JAR包我自定义了一个classloader,目前只能加载.class文件,现在想实现一个方法,能够加

自定义加载器如何加载JAR包
我自定义了一个classloader,目前只能加载.class文件,现在想实现一个方法,能够加载.jar文件。

对.jar文件的存在形式还不是很理解。

问题是,.jar文件在内存中是如何被加载的呢?是把整个.jar文件以某种形式读取进来,单独的开辟一块内存存储XX.jar文件,还是把XX.jar文件中的每一个.class文件以字节码的形式加载到内存中?

[解决办法]
用ZIP这个类 解压缩 JAR文件.然后再classloader读.class文件
[解决办法]
根本就不存在“把 .jar 文件加载起来”的概念。

ClassLoader 的作用就是把需要的 class 加载到 JVM 中。你自己实现的 ClassLoader 就是用你自己实现的随便什么方式,得到一个二进制流,然后通过 defineClass() 变成一个 Class 对象交付给 JVM。

至于你自己实现的这个 ClassLoader“碰巧”是从一个 .jar 中获取一个二进制流,那随便你怎么做好了,你愿意怎么从这个 .jar 中读取数据都可以,要不要把它保持在内存里也随你 :D

热点排行