• 技术文章 >java >java基础

    java对象的创建及内存布局

    小妮浅浅小妮浅浅2021-03-04 11:34:20原创3648

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

    1、对象的创建

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

    2、分配对象内存

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

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

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

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

    专题推荐:java对象
    上一篇:java中JVM运行时的内存整理 下一篇:java数组去重的两种方法

    相关文章推荐

    • java IO中字节和字符的介绍• java中使用static的注意点• java中sdk安装和配置环境• java Array和Arrays的区别分析• java注解的类型有哪些?• java之jvm加载器有几种?• java中JVM运行时的内存整理

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网