JVM是如何知道java.lang包中的类的?JVM又是如何知道我们应用中的类的?我们的应用中明明是有某个类, 但是JVM却抛出ClassNotFoundException,这是为什么?XxxImpl类已经实现了接口Xxx,但是却抛出XxxImpl does not extend from Xxx,这是为什么?使用类型转换时,可能会抛出 aa.bb.cc.XXX can not cast to aa.bb.cc,这又是为什么?等等诸多看似诡异情况,其实都是因为ClassLoader. 了解反射的
原文:http://blog.163.com/woshihezhonghua@126/blog/static/1271436362012101214031911/ 首先明确一点,String是一个类.下面我们主要讨论两个问题 a) String类的对象的两种赋值方式 b) 为什么String类的对象可以直接赋值 a) 1 类似普通对象,通过new创建字符串对象.String str = new String("Hello"); 内存图如下图所示,系统会先创建一个匿名对象&quo