千家信息网

Java对象的介绍

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,本篇内容介绍了"Java对象的介绍"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、对象头,分为Ma
千家信息网最后更新 2025年01月17日Java对象的介绍

本篇内容介绍了"Java对象的介绍"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、对象头,分为MarkWord和KlassPoint。

MarkWord(标记字段):默认存储对象的HashCode,代替年龄和锁定标记位置信息。它会根据对象的状态重用自己的存储空间,也就是说,MarkWord中存储的数据会随着锁定标记位置的变化而变化。

KlassPoint(类型指针):对象指向其类元数据的指针,虚拟机通过该指针确定该对象属于哪一类。

2、实例数据。这部分主要是存储数据信息和父类信息。

3、对齐填充。因为虚拟机要求对象的起始地址是8字节的整数倍,所以填充数据不一定存在,只是为了字节对齐。

一个空对象占8个字节,是因为对齐填充的关系,不到8个字节对齐填充会帮助我们自动完成。

实例

public class TestStudent {public static void main(String[] args) {int n = 10;  //栈存储int m = 10;  //栈存储Student stu = new Student();//属性赋值stu.name="张三";System.out.println(stu.name);  //null   张三System.out.println(stu.age);   //0  //调用String name = "ls";   //局部变量(常量池)String aaaa="ls";String pwd = "123";stu.login(name,pwd);System.out.println("name:"+name);   //lsSystem.out.println("执行");}} class Student {// 属性String name;int age;//用户登录// String userName;// String pwd;public void login(String userName,String pwd){System.out.println(userName+"===="+pwd);   //ls  123}public void show() {System.out.println("姓名:" + name + ",年龄:" + age);}}

"Java对象的介绍"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0