一个Java类在JVM中是如何描述的?创建一个Java对象在JVM中数据又是如何存储的?
在Hotspot VM中,设计者设计了OOP-Klass模型用来描述class的属性和行为,这里的OOP并不是面向对象编程(Object-oriented programming), 而是Ordinary Object Pointer(普通对象指针),之所以设计为OOP和Klass两部分是因为不希望每个对象都有一个C ++ vtbl指针, 因此,普通的oops没有任何虚拟功能。 相反,他们将所有“虚拟”函数转发到它们的klass,它具有vtbl并根据对象的实际类型执行C ++调度。