为什么要用到classloader去装载类,new是不是跟classloader类似,还是两者有根本性的区别
解决方案 »
- main方法里报错,怎么也找不出来。帮忙看下
- 使用Java可以改写文件中某一块的数据吗?
- weblogic抛异常 java.net.ProtocolException: Didn't meet stated Content-Length, wrote
- Java
- 一个图象文件插入到oracle数据库中的问题
- 用java进行图形化编程的哥们,请进!!!
- 谢谢各位朋友的指导。祝大家新年快乐:在DOS下运行JAVAC和JAVA命令怎么样支持中文显示
- 关JLabel的问题
- 为什么会一闪而过?
- Java-面向对象
- java Swing布局中JFrame添加new JScrollPane(JTextArea)控制大小
- jdbc 数据库登录时出现问题了!!
new的时候也是用classloader去加载的,只不过是其不同子类罢了。
另外,classloader存在下面问题:
在一个jvm中可能存在多个classloader,每个classloader拥有自己的namespace。一个classloader只能拥有一个class对象类型的实例,但是不同的classloader可能拥有相同的class对象实例,这时可能产生致命的问题。如classloadera,装载了类a的类型实例a1,而classloaderb,也装载了类a的对象实例a2。逻辑上讲a1=a2,但是由于a1和a2来自于不同的classloader,它们实际上是完全不同的,如果a中定义了一个静态变量c,则c在不同的classloader中的值是不同的。
就因为这样,classloader可以避免一些问题,比如eclipse的插件管理,不同的插件,可能有相同的包,相同的名字,用不同的classloader加载就可以避免这些问题
xie xie, xue xi le