JAVA类库的提前加载 - 编程入门网
JAVA类库的提前加载时间:2011-02-21在JAVA运行的时加载jar包类库 要是有相同的包路径,相同的类名字出现,那么JVM是否 会报告错误呢? 当然不会! JVM只会加载最早的出现的CLASS 首先JVM会加载 自己默认的包 然后加载 EXT目录下面的所有JAR 再到 classpath 那么 现在有2个 JAR 分别是 kj021320.jar summer.jar 里面都有包路径cn.isto 同样有 类Jcrack.class 那么 JVM就会看哪个 类先加载到VM中就用哪个!后面读进来的 如果路径名字一样 就会丢弃! 想到以上加载方式大家会想象到什么呢? 我们首先设计一个类
里面只有一个方法判断 登陆是否成功 直接返回一个true 把这个类打包为 kj021320.jar 下面我们再来写2个类
很明显我们把上面2个类编译OK后 直接运行! 不用看控制台都会打印false 然而我们再把上面kj021320.jar加载回来再运行 JMain类 系统就会显示true 简单说因为 JVM把正常用户的Jcrack类抛弃了!而加载了我们自己修改的Jcrack类! JAVA应用就这样简单破解了! |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |