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

Java 对象是什么样子的?

Java 对象是什么样子的?

class Student{
int age;
String name;
}

Student s = new Student(18, “zhangsan”);
这里的 s 变量,就是我们常说的引用,这里是强引用。指向对象中的 Java对象。
很多人可能认为,堆中存储了 age = 18, name = “zhangsan”。
其实不然,Java 对象中其实只存储了数据,并没有存储其他属性信息。那么是怎么知道数据是对应哪个属性呢?
是因为,Java 对象头中存储了 Class 对象的指针。Class 对象是存储在方法区中的。Class 对象中存储了 这个类的字段…各种元信息。
Java 这样设计的好处,可以节省内存的占用,类的元信息有一份就行了,new 出来的对象,可以复用这一份。
Java对象的具体组成:对象头 + 对象体
● Mark Word,32位,64位Java虚拟机,分别是 32 位,64 位
● Class Pointer 类对象指针,4个字节
● Object Body,具体的属性值,基本数据类型,就存储值;引用数据类型,就存储引用地址

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

http://www.lryc.cn/news/199686.html

相关文章:

  • 自动驾驶的法律和伦理问题
  • Uniapp 增加百度统计代码
  • pyflink 环境测试以及测试案例
  • EtherNet/IP转Modbus TCP协议网关的接口
  • 视频集中存储/视频监控管理平台EasyCVR如何免密登录系统?详细操作如下
  • 京东商品详情API接口(标题|主图|SKU|价格|库存..)
  • Istio Service Entry介绍
  • 设备巡检管理系统有什么用?企业如何提高生产效率和生产安全?
  • 浅谈单例模式
  • 【非root用户、CentOS系统】中使用源码安装gcc/g++的教程
  • Qemu镜像安全加密测试
  • Ubuntu 18.04 LTS中cmake-gui编译opencv-3.4.16并供Qt Creator调用
  • SpringBoot (2) yaml,整合项目
  • django建站过程(2)创建第一个应用程序页面
  • 竞赛 深度学习人体语义分割在弹幕防遮挡上的实现 - python
  • 网络编程开发及实战(下)
  • (H5轮播)vue一个轮播里显示多个内容/一屏展示两个半内容
  • 【Proteus仿真】【Arduino单片机】蜂鸣器
  • seatunnel web ui 构建时报错
  • Js使用ffmpeg在视频中添加png或gif
  • 多线程 Leetcode 打印零与奇偶数
  • 杭电oj--数列有序
  • PHPEXCEL解决行数超过65536不显示问题
  • 新媒体时代如何做好新型的网络口碑营销?
  • MySQL中InnoDB插入缓冲区(Insert Buffer)
  • VUE前端判断是电脑端还是移动端
  • OpenGL —— 2.8、漫游之摄像机飞行移动(附源码,glfw+glad)
  • AM@麦克劳林公式逼近以及误差分析
  • gitlab 离线安装问题解决:NOKEY,signature check fail
  • uniapp使用uQRCode绘制二维码,下载到本地,调起微信扫一扫二维码核销