码迷,mamicode.com
首页 > 其他好文 > 详细

十一、OOP-Klass模型

时间:2017-12-31 16:43:07      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:年龄   内存   机制   style   运行时   反射   post   对象   元数据   

我们说的实例和类通常是语法层面上的,那么JVM在内存中还是需要一种存在形式:OOP-Klass模型。

简单来说,对象占据了内存,类也占据了内存,他们都需要一种在内存空间的表现形式

1、对象 -> JVM中的对象实例;

2、类 -> JVM中的类实例;

OOP:对象内存布局如下:

技术分享图片

Mark Word:主要用于存储对象运行时数据,比如:GC分代年龄;

元数据指针:指向对象对应的类;

实例数据:存储字段信息等,包含超类的信息(所以继承机制事实上是拷贝了超类的数据

 

Klass则是class在JVM中的对等体。

OOP和Klass是相互对立却又相互联系的模块,那么我们可以想一下,Java的反射机制中是如何通过一个对象获取其类型的呢?

1、首先我们栈中有一个对象的引用;

2、这个引用指向了堆区内存对象;

3、然后通过对象的元数据指针指向了方法区中的类型;

十一、OOP-Klass模型

标签:年龄   内存   机制   style   运行时   反射   post   对象   元数据   

原文地址:https://www.cnblogs.com/lay2017/p/8157832.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!