文章 > java基础 > java对象的创建及内存布局

java对象的创建及内存布局

头像

小妮浅浅

2021-03-04 11:34:20489浏览 · 0收藏 · 0评论

我们在操作java对象的时候,首先要简单的对其进行创建,然后再考虑对象的内存分配问题。创建的时候,会遇到符号是否引用问题的讨论。同时,内存的分配主要有两种方式“指针碰撞和空闲列表。接下来,我们会对这些知识点进一步的剖析,理清java对象创建和内存的有关问题。

1、对象的创建

在创建一个对象时,首先要检查创建它的类是否能够找到常量池中的符号引用,并检查符号引用所代表的类是否已经加载、解析和初始化,如果没有,那么必须执行相应的类加载过程。

2、分配对象内存

为对象分配内存本质上就是从Java堆中划分出一块固定大小的内存给Java对象使用。对象内存分配主要有两种:

(1)指针碰撞的分配方式用于在内存整齐的堆积中进行对象分配,所有被使用的内存放在一边,没有被使用的在另一边,中间放置指针作为界点的指示器,作为对象分配内存时,将指针移动到没有被使用的同时与对象相等大小的距离即可。

(2)空闲列表适合在不规则的存储器中分配存储器,虚拟机为了知道哪个存储器区域可用,必须维持列表,在进行存储器分配时,在列表中选择足够大的空间分配给对方。

以上就是java对象创建及内存布局的介绍,相信大家经过本篇的学习,对于java对象的理解上有了更加深入的掌握,为之后的相关使用打下基础。更多Java学习指路:Java基础

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮