对于 :  animal    instanceof     A
animal中存在的仅仅是地址吧,那么当上面这句话执行时,是不是根据animal中的地址找到堆中的实例,然后检测实例中的某块记录区域?

解决方案 »

  1.   

    A是一个类啊,类是通过类加载器把字节码文件加载进内存,然后按照这个字节码文件作为模板来创建一个个类的实例对象的
    instanceof就是检查这个animal是不是按照模板来的,是就是A的实例还有,如果问题得到解决,请记得结贴给分
      

  2.   

    这种技术术语叫RTTI,粗略理解的话就是JVM拿到左值实例的类型信息,去和同一类加载器加载的类型信息(Class对象)做相等比较。这是偏重语义的说法,比较含混。
    详见:Java instanceof 关键字是如何实现的?