类加载机制
Java中 万事万物皆对象,包括类本身,也是对象,类是Java.lang.class的对象, class对象存储在方法区,里面有类的元数据信息,比如说方法,类字段,运行时常量池等
所谓的加载一个类,就是把一个class的字节码 映射到内存中表示,这个在内存中的class 就是类对象
至于什么时候会用到,但凡需要访问类信息的时候都会用到, 比如说在对象实例的方法里面的局部变量表中的第一个槽里面,放的就是指向这个对象所属类的指针
hotspot虚拟机是用c++实现的,里面有一套模型用来表示Java的类和对象,这个模型叫kclass–oop模型, kclass对象代表的就是Java中的类,oopdesc对象代表Java中的对象
说白了 class对象就是给你提供一个访问类信息的入口,比如说Java的反射机制里面的各种获取类字段 方法的手段