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

门户网站建设为企业带来的好处宣传部总结网站建设

门户网站建设为企业带来的好处,宣传部总结网站建设,合肥做个网站什么价格,把网站内容东西打出来怎么做目录 概述对象里的三个区对象头验证代码控制台输出分析 验证2代码控制台输出 实例数据对其填充 访问对象结束 概述 jvm对象内存布局详解。 相关文章在此总结如下: 文章地址jvm基本知识地址jvm类加载系统地址双亲委派模型与打破双亲委派地址运行时数据区地址运行时数…

目录

  • 概述
  • 对象里的三个区
    • 对象头
      • 验证
        • 代码
        • 控制台输出
        • 分析
      • 验证2
        • 代码
        • 控制台输出
    • 实例数据
    • 对其填充
  • 访问对象
  • 结束

概述

jvm对象内存布局详解。

相关文章在此总结如下:

文章地址
jvm基本知识地址
jvm类加载系统地址
双亲委派模型与打破双亲委派地址
运行时数据区地址
运行时数据区-字符串常量池、程序计数器、直接内存地址
jvm中对象创建流程与内存分配地址

对象里的三个区

对象里有啥?
在这里插入图片描述

对象头

对象头:8字节,如果是数组12字节(记录数组长度,占4字节)

  • 标记字段:存储对象运行时自身数据

    • 默认:对象Hashcode、GC分代年龄、锁状态
    • 存储数据结构并不是固定的
  • 类型指针:对象指向类元数据的指针

    • 开启指针压缩占4字节、不开启8字节 (jdk1.6之后默认是开启的)
  • 数组长度:如果是数组,则记录数组长度,占4个字节

  • 对其填充:保证数组(针对的是数组)的大小永远是8字节的整数倍

                        32位Markword是可变的数据结构,对象头总大小固定8字节
    

在这里插入图片描述

Markword 占4个字节,共32位。

					64位Markword是可变的数据结构,对象头总大小固定12字节

在这里插入图片描述

在这里插入图片描述

验证

打印空对象的内存而已信息

代码
<dependency><groupId>org.openjdk.jol</groupId><artifactId>jol-core</artifactId><version>0.9</version>
</dependency>

执行代码

package com.fun.info;import org.openjdk.jol.info.ClassLayout;public class ObjLock {public static void main(String[] args) {Object o = new Object();System.out.println("new Object:"+ ClassLayout.parseInstance(o).toPrintable());}
}
控制台输出

在这里插入图片描述

分析
  • 首先对象头是包含 Markword类型指针 这两部分信息
  • 开启指针压缩的情况下,存放 Class 指针的空间大小是4字节,Markword是8字节,对象头为12个字节
  • 新建 Object 对象,会在内存占用16个字节,其中 Header 占12个(Markword 占8个 + ClassPoint 占 4个),没有实例数据,补充对齐 4 个字节

验证2

基本数据类型和包装类的内存占用情况

数据类型内存占用 (byte)
boolean1
byte1
short1
char2
int4
float4
long8
double8
Boolean4
Byte4
Short4
Character4
Integer4
Float4
Long4
Double4
代码
package com.fun.info;import org.openjdk.jol.info.ClassLayout;public class ObjLock2 {public static void main(String[] args) {Student o = new Student();System.out.println("new Object:"+ ClassLayout.parseInstance(o).toPrintable());o.setAge(10);o.setFlag(true);o.setName("abc");System.out.println("赋值 new Object:"+ ClassLayout.parseInstance(o).toPrintable());}static class Student{private boolean flag;private int age;private String name;public boolean isFlag() {return flag;}public void setFlag(boolean flag) {this.flag = flag;}public void setAge(int age) {this.age = age;}public void setName(String name) {this.name = name;}}
}
控制台输出

在这里插入图片描述
在这里插入图片描述

总结: 对象从创建,对象的大小就已确定了。

实例数据

对象内部的成员变量

对其填充

8字节对象,保证对象大小是8字节的整数倍。

访问对象

如何访问对象?

在这里插入图片描述
在这里插入图片描述

两种方式如上两图:

  • 1.句柄
  • 2.直接指针

结束

至此,jvm对象内存布局就说得明明白白了,如有疑问,欢迎评论区留言。

http://www.dtcms.com/wzjs/606002.html

相关文章:

  • 长春网站建设同信唐山建设工程造价信息网站
  • 苏州制作网站的公司简介163企业邮箱下载
  • 网站备案期间能使用吗网站开发建设工资多少
  • 做网站框架浏览时怎么变长网络安全工程师报名官网
  • wordpress积分交换东营网站seo顾问
  • 茂名公司制作网站苏州网站建设一条龙
  • 网站粘度设计公司的logo
  • 英文网站制作费用百度智能云建站教程
  • 西安网站建设公司 云阔互联网推广引流公司
  • 简述网站建设的概念小程序链接生成二维码
  • 网站做竞价需要什么信息手机网站跟PC端网站有啥区别
  • 做的网站显示不了背景图片南通网站设计专家
  • 如何搭建一个企业子账号网站网站各种按钮代码
  • 沧州网站建设优化公司北京常用网站
  • 怎样看一个网站是哪个公司做的腾讯网站谁做的
  • 股票网站模板 dedecms深圳市建设工程合同备案网站
  • 慈溪做网站公司哪家好央企网站建设意义
  • 大理州建设局网站门户网淮北论坛招聘兼职
  • 做外贸需要什么网站九一人才网
  • 潍坊网站建设如何wordpress 自定义模板下载地址
  • 企业建设网站有哪些小型企业网站有哪些
  • 新公司做网站多少钱加盟网官方网站
  • 请科技公司做网站需要注意什么生活服务类网站开发
  • 网站建设的5个步骤是什么可以做英语翻译兼职的网站
  • 上海市建设小学网站温州平阳县网站建设兼职
  • 做外汇都要看什么网站企业手机网站建设新闻
  • php网站开发职位上海网络公司网站
  • 东营做网站优化哪家好广告安装接单app
  • 论坛网站在线生成广告推广方案怎么写
  • 做宾馆网站好成都行业网站建设那里好