如何让一个Class被一个虚拟机实例载入2次

以前在一些Blog上面经常看到分析java虚拟机载入Class的各种机制,其中有一种叫做委托机制. 也就是Classloader总是先让他的上一级去查找,只有上一级找不到的时候,他自己才去查找.这也就是说一个Class总是会被同一个ClassLoader载入了.

但是我又知道,一个Class在一个虚拟机里面是通过3个因素来决定:加载器,类名,包名.我记得一个虚拟机是可以把一个Class载入2次. 如果是一个Class都是由一个ClassLoader来载入,也就是不可能被载入2次了.一直有这样一个问题没有明白.

周末在家看书,突然发现原来,这种ClassLoader的级联委托是一个推荐,不是一个强制标准.这样就豁然开朗了.也就是只要你愿意,你可以自己写多个ClassLoader来载入同一个Class,并且这些Class是无论如何也不会equal的了.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值