
classloader
文章平均质量分 63
chaofanwei2
这个作者很懒,什么都没留下…
展开
-
classload之java程序入口sun.misc.Launcher源码分析
java程序的入口就是sun.misc.Launcher了,这个类里面又继承了ExtClassLoader和AppClassLoader和bootstrap的url路径可以看到Launcher类初始化时,先初始化了个ExtClassLoader,然后又初始化了个AppClassLoader,然后把ExtClassLoader作为AppClassLoader的父loader。ExtClassLoader没有指定父类,即表明,父类是BootstrapClassLoader。把初始化的AppClassLoa原创 2016-05-06 22:51:35 · 13632 阅读 · 0 评论 -
JNAVI项目之用classloader实现热部署
JNAVI项目是我司开发的用于大规模分布式服务框架,能提供http,tcp,udp请求服务,并提供了大量的高效率、高性能、池化的请求底层服务的接口的框架。其中之一的特点就是类似于tomcat,支持部署多个业务模块,每个业务模块支持热部署,其就是利用classload实现的。先简单看图。整个项目分3层,第一层就是启动JNAVI的代码,即原创 2016-05-08 11:56:18 · 670 阅读 · 0 评论 -
java利用classloader实现热部署
热部署,即需要jvm释放之前加载的业务class,且重新加载最新的业务class,并释放之前的class(卸载),其实类和普通对象一样都是对象,即如果从gc root除非,没有引用此类的别的对象存在,即会被jvm自动回收。原创 2016-05-02 22:34:47 · 13873 阅读 · 2 评论 -
classloader之getresource,findClass深度分析
getResource优先返回父加载器里面的资源findResource直接而且只是从当前类加载器的url里面去查询资源(不请求父加载器)每个URLClassLoader 内部维护了一组url,初始化URLClassLoader和通过addUrl(url)可以添加url,然后findResource只是从这些url里面查找。URLClassPath里面会把每个url解析成一个load,然后查找资源的时候,就去每个load里面查找。load类有三个实现,分别是load(代表网络的jar包),FileL原创 2016-05-03 21:56:26 · 4873 阅读 · 0 评论