微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对象的实例变量是否存储在连续内存中

如何解决对象的实例变量是否存储在连续内存中

对象的实例变量是否像数组中的元素一样存储在连续内存中?假设您有 Student 类 def ,它具有名称、年龄和成绩实例变量。构造Student类的实例时,实例变量是否存储在连续内存中?

解决方法

总的来说,答案是肯定的;但这是未指定的。有一个图书馆 specifically designed for this,您可以随意使用。

例如对于像这样的类:

{% block content %}
{{ success }}
{% endblock %}

您可以看到它的布局(通过 static class Example { byte b = 1; int x = 3; long l= 12; } ):

ClassLayout.parseClass(Example.class).toPrintable()

注意字段如何改变它们的位置(使填充更少),以及有 7 个字节的填充。

越深入研究,事情就会变得越来越有趣,例如继承,或由其他对象组成的对象。该库中的示例以这种方式非常丰富。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。