|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。
在JAVA运转的时加载jar包类库如果有不异的包路径,不异的类名字呈现,那末JVM是不是会呈报毛病呢?
固然不会!JVM只会加载最早的呈现的CLASS
起首JVM会加载本人默许的包然后加载EXT目次上面的一切JAR再到classpath
那末如今有2个JAR分离是kj021320.jarsummer.jar内里都有包路径cn.isto
一样有类Jcrack.class那末JVM就会看哪一个类先加载到VM中就用哪一个!前面读出去的假如路径名字一样就会抛弃!
想到以上加载体例人人会设想到甚么呢?
我们起首计划一个类
//这个是专门破解的类
packagecn.isto;
publicclassJcrack{
publicJcrack(){}
booleangetLogin(Stringpwd){
returntrue;
}
}
内里只要一个办法判别上岸是不是乐成间接前往一个true
把这个类打包为kj021320.jar
上面我们再来写2个类
//这个是真正运转时分判别上岸的类
packagecn.isto;
publicclassJcrack{
publicJcrack(){
}
booleangetLogin(Stringpwd){
return"KJ021320".equals(pwd);
}
}
//挪用上岸考证的类
packagecn.isto;
publicclassJMain{
publicJMain(){
}
publicstaticvoidmain(String[]args){
System.out.println(newJcrack().getLogin("Summer"));
}
}
很分明我们把下面2个类编译OK后间接运转!不必看把持台城市打印false
但是我们再把下面kj021320.jar加载返来再运转JMain类
体系就会显现true复杂说由于JVM把一般用户的Jcrack类丢弃了!而加载了我们本人修正的Jcrack类!
JAVA使用就如许复杂破解了!
你精通任何一门语言就最强大。现在来看,java的市场比C#大,C#容易入手,比较简单,java比较难 |
|