当前位置: 首页 > news >正文

关于医院网站建设的通知网站 f型

关于医院网站建设的通知,网站 f型,网站备案提交资料,阿里云nas做网站前言Java 是门面向对象的开发语言#xff0c;那么我们自己编写的 Java 类生成的对象是什么样的#xff1f;它肯定保存在虚拟机的内存中#xff0c;但它以怎样的结构来保存的呢#xff1f;带着疑问往下看看。关于KlassJava 层的开发可能不太熟悉 Klass#xff0c;但肯定熟悉…前言Java 是门面向对象的开发语言那么我们自己编写的 Java 类生成的对象是什么样的它肯定保存在虚拟机的内存中但它以怎样的结构来保存的呢带着疑问往下看看。关于KlassJava 层的开发可能不太熟悉 Klass但肯定熟悉 class我们只要知道 Klass 是 class 在 JVM 中的表示即可即 Java class 对应 JVM Klass。C 中的继承关系如下class MetaspaceObjclass Metadataclass KlassKlass 类用来描述 Java 类信息包括描述类型自身布局、类名、父类、子类、兄弟类等等。关于oop按前面 class 对应的方式那么对象也应该有 JVM 内部与之相对应的表示吧没错就是 oop(ordinary object pointer)普通对象指针。它的定义如下typedef class oopDesc* oop;其中 oopDesc 类是所有 oop 的基类。在 JVM 中不同的 oop 用于描述特定类型的对象。比如类对象用 instanceOopDesc数组用 arrayOopDesc。Klassoop模型Java 对象在 JVM 中的结构如下包括 header 和对象内容。如下图中左边的是 instanceOopDesc即一般的类对象header 包括了标识和元数据标识用于存储运行时记录信息包括哈希码、GC锁和线程锁等等。而右边的为 arrayOopDesc即数组对象header 多了个 length用于记录数组长度。来个demopublic class Test {private String[] flag { a, b, c };private String name test;public static void main(String[] args) throws Exception {Test test new Test();String _name test;System.out.println(test.flag);System.out.println(_name);}}查看 main 线程的栈内存我们主要是要拿到 Test 对象的地址即0x000000008a105dd0。接着用 inspector 来查看0x000000008a105dd0地址对应的 oop看到这个 oop 就是我们的 Test 类生成的对象结构了包含了 mark 和 metadata。这里可能会有个疑问就是前面不是说数组还有一个 length 来表示数组长度的吗但图中的 flag 数组变量并没有看到 length 啊。其实数组 oop 并不是没有 length而是 C 并没有声明这个变量而是通过指针来直接将数组长度保存到对应的内存了所以这里是看不到的。通过下面具体的实现代码就能清楚了解到原因了。是不是我们就没办法看到这个长度值呢并不是下面继续看如何来看这个值。int length() const {return *(int*)(((intptr_t)this) length_offset_in_bytes());}void set_length(int length) {*(int*)(((intptr_t)this) length_offset_in_bytes()) length;}前面我们可以得到 flag 数组 oop 的地址为0x000000008a105de8。64位机器上_mark为8字节_metadata为4字节那么将地址加12得到0x000000008a105df4。然后用 hsdb 命令行的 examine 得到地址的值得到0x8a105e0800000003其中00000003便是。原文作者超人汪小建
http://www.huolong8.cn/news/160857/

相关文章:

  • 吉安网站公司线上推广员
  • 网站的数据库做备份做网站可以用电脑当服务器吗
  • 网站怎么做qq的授权登陆福清做网站
  • 如何查看网站的更新频率上海建行网点
  • 泰州高端网站建设北京外贸网站建设公司
  • 建立企业网站价格自建app免费制作平台
  • 网站客户端怎么做的建网站的每年有费用
  • 学习网站建设要报班吗嘉兴做网站多少钱
  • 那些网站做的非常好看的服务器做jsp网站教程
  • 中山市网站建设焦作做网站哪家好
  • wordpress注册邮箱验证收不到邮件电脑系统优化软件排行榜
  • 原创网站设计费用如何做网站源码
  • 无锡新吴区住房建设和交通局网站深圳市光明区实验学校
  • 微企点做网站视频聊城手机网站建设服务
  • 大冶市建设部门网站域名注册商怎么查
  • 如何给自己开发的网站加域名南宁做网站优化的公司
  • 如何用word做简单的网站中国建设银行太原招聘信息网站
  • 南昌建设厅网站南宁网站制作专业
  • 湛江做网站电话做一个网站需要多大的空间
  • 思乐网站建设小型企业网站开发
  • 网站定制化台州外包加工网
  • 伦教网站设计传奇类型的网游
  • 赣榆哪里有做网站的印象笔记 wordpress
  • 怎样做网站导购教程wordpress模板仿遮天小说站
  • 哪个网站做恒生指数最安全揭阳建网站
  • wordpress网站搭建教程做网站建设的怎么赢利
  • 深圳网站制作企业邮箱企业门户网站 php
  • 网站建设开发计入二级科目明细wordpress无刷新评论
  • 安装网站模版视频教程中国企业网银怎么转账
  • 做百度推广是不是得有个网站先深圳白帽优化