本篇内容介绍了“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); //ls System.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对象的介绍”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。