JVM学习笔记21——类加载器实战剖析与疑难点解析
发布日期:2021-06-29 01:18:58
浏览次数:2
分类:技术文章
本文共 1512 字,大约阅读时间需要 5 分钟。
查看各类加载器的加载路径:
// 查看加载器位置System.out.println(System.getProperty("sun.boot.class.path"));System.out.println(System.getProperty("java.ext.dirs"));System.out.println(System.getProperty("java.class.path"));
public class MyTest18_1 { public static void main(String[] args) throws Exception{ MyTest16 loader1 = new MyTest16("loader1"); loader1.setPath("D:\\workspace\\"); Class clazz = loader1.loadClass("com.yshuoo.jvm.classloader.MyTest1"); System.out.println("class: " + clazz.hashCode()); System.out.println("class loader:" + clazz.getClassLoader()); }}
将MyTest1放入启动类加载器能加载的路径里,最后就会有启动类加载器加载MyTest1
扩展类加载器主要是加载一些加密解密的类
public class MyTest19 { public static void main(String[] args) { AESKeyGenerator aesKeyGenerator = new AESKeyGenerator(); System.out.println(aesKeyGenerator.getClass().getClassLoader()); System.out.println(MyTest19.class.getClassLoader()); }}
修改扩展类加载器的加载路径为当前路径
java -Djava.ext.dirs=./ com.yshuoo.jvm.classloader.MyTest19
运行会发生异常,说明加载路径都是固定的
public class MyPerson { private MyPerson myPerson; public void setMyPerson(Object myPerson) { this.myPerson = (MyPerson)myPerson; }}
MyTest16 loader1 = new MyTest16("loader1");MyTest16 loader2 = new MyTest16("loader2");Class clazz1 = loader1.loadClass("com.yshuoo.jvm.classloader.MyPerson");Class clazz2 = loader2.loadClass("com.yshuoo.jvm.classloader.MyPerson");System.out.println(clazz1 == clazz2);
输出为true,尽管loader1和loader2是不同的加载器实例,但是都会委托应用类加载器去加载MyPerson
转载地址:https://blog.csdn.net/yshuoo/article/details/116530421 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月01日 13时50分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
开发一个app应用的流程有哪些
2019-04-29
在线点餐APP开发前景如何?
2019-04-29
开发服务生活app手机前景如何
2019-04-29
服装搭配app开发项目特点在这几个方面
2019-04-29
开发一个小程序,最好先做好课前工作
2019-04-29
app的开发需要具备哪些能力
2019-04-29
同城社交APP软件有哪些优点?
2019-04-29
Python反爬虫的四种常见方式-JS逆向方法论
2019-04-29
Python爬取《冰雪奇缘2》豆瓣影评
2019-04-29
Python递归爬取今日头条指定用户一个月内发表的所有文章,视频,微头条
2019-04-29
Python爬取620首虾米歌曲,揭秘五月天为什么狂吸粉?!
2019-04-29
Python爬取上交所一年大盘数据
2019-04-29
python爬取 “得到” App 电子书信息
2019-04-29
Python分页爬取数据的分析
2019-04-29
Python爬取猫眼电影《飞驰人生》47858万条评论并对其进行数据分析
2019-04-29
Python 爬取大众点评 50 页数据,最好吃的成都火锅竟是它!
2019-04-29
Python 爬取猫眼电影《无名之辈》并对其进行数据分析
2019-04-29
Python爬虫使用selenium爬取qq群的成员信息(全自动实现自动登陆)
2019-04-29
如何利用python爬取网易新闻
2019-04-29
用Python爬取猫眼电影里柯南剧场版的6000条评论
2019-04-29