classloader的原理 有哪些类加载器 为什么要用自定义类加载器

 我来答
liuyz60
2015-04-27 · TA获得超过300个赞
知道小有建树答主
回答量:262
采纳率:77%
帮助的人:119万
展开全部

原理之类的,你自己上网看资料吧,不是一两句话说得清的。

至于为什么用自定义类加载器,个人总结了一下可能有下面几点吧,可能不全,也请大家补充:

  1. 加密:众所周知,java代码很容易被反编译,如果你需要把自己的代码进行加密,可以先将编译后的代码用某种加密算法加密,然后实现自己的类加载器,负责将这段加密后的代码还原。

  2. 从非标准的来源加载代码:例如你的部分字节码是放在数据库中甚至是网络上的,就可以自己写个类加载器,从指定的来源加载类。

  3. 动态创建:为了性能等等可能的理由,根据实际情况动态创建代码并执行。

  4. 其他(这个理由非常给力吧^_^)

淡淡的雅兴
2015-12-14 · TA获得超过1.6万个赞
知道大有可为答主
回答量:4172
采纳率:86%
帮助的人:483万
展开全部
比较典型的自定义classloader使用情况就是给类加密。java编译的代码可以轻易的被反编译,有些企业会给自己的类做特殊的加密,防止反编译,类加密后就不能再用java的
classloader去加载类了,这时就需要自定义classloader,再加载类的时候先解密类,然后再加载。
具体的代码自己可以百度一下class加密有很多文章介绍的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式