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

购物网站黑白wordpress小程序商城

购物网站黑白,wordpress小程序商城,山东网站建设系统,石家庄网站建设诚荐优度网络jvm分配内存给对象的方式1. 内存分配的总体流程对象内存分配的主要步骤:类加载检查:确认类已加载、解析和初始化。内存分配:根据对象大小,从堆中划分内存空间。内存初始化:将分配的内存空间初始化为零值(不…

jvm分配内存给对象的方式

1. 内存分配的总体流程
对象内存分配的主要步骤:
  1. 类加载检查:确认类已加载、解析和初始化。
  2. 内存分配:根据对象大小,从堆中划分内存空间。
  3. 内存初始化:将分配的内存空间初始化为零值(不包括对象头)。
  4. 设置对象头:填充对象头信息(如哈希码、GC 分代年龄、类型指针等)。
  5. 执行init方法:调用对象的构造函数,初始化成员变量。
2. 内存分配的具体方式
(1)指针碰撞(Bump the Pointer)
  • 适用场景:堆内存绝对规整(所有用过的内存放在一边,空闲的内存放在另一边)。
  • 分配方式:JVM 维护一个指针,指向空闲内存的起始位置。分配时,将指针向空闲方向移动对象大小的距离。
  • 优点:高效,仅需移动指针。
  • 缺点:需要内存规整,依赖垃圾回收器(如 Serial、ParNew 等带有压缩功能的 GC)。
(2)空闲列表(Free List)
  • 适用场景:堆内存不规整(已使用和空闲内存交错)。
  • 分配方式:JVM 维护一个记录空闲内存块的列表,分配时从列表中找到足够大的块,并更新列表。
  • 优点:适合不规整内存,无需内存压缩。
  • 缺点:分配效率较低,需遍历列表并维护列表结构。
  • 应用:CMS 等基于 “标记 - 清除” 的垃圾回收器使用此方式。
3. 线程安全的内存分配
对象创建在多线程环境下是线程不安全的,可能出现多个线程同时分配同一块内存的问题。JVM 采用两种方式解决:
(1)CAS(Compare-and-Swap)
  • 执行流程:
1. 线程读取共享变量 V 的当前值
2. 将读取的值存储为预期旧值 A
3. 计算需要更新的新值 B
4. 执行 CAS 操作,比较 V 的当前值是否等于 A:- 如果相等(说明期间没有其他线程修改 V),则原子性地将 V 的值更新为 B- 如果不相等(说明其他线程已修改 V),则操作失败,通常需要重试或放弃
  • 缺点:若竞争激烈,频繁的 CAS 失败会导致性能下降。
(2)TLAB(Thread Local Allocation Buffer)
  • 机制:为每个线程预先分配一小块私有内存(TLAB),线程内的对象分配优先在 TLAB 中进行,避免同步开销。

jvm对象的内存布局

在 JVM(Java 虚拟机)中,对象在内存中的布局主要分为三个部分:对象头(Object Header)实例数据(Instance Data) 和 对齐填充(Padding)
1. 对象头(Object Header)
对象头包含两部分信息:Mark Word 和 类型指针(Class Pointer),某些情况下还会包含 数组长度(如果对象是数组)。
Mark Word
  • 作用:存储对象的哈希码、锁状态标志、GC 分代年龄等运行时数据。
  • 长度:在 32 位 JVM 中占 32 位(4 字节),64 位 JVM 中占 64 位(8 字节)。
类型指针(Class Pointer)
  • 作用:指向对象的类元数据(Class 对象),JVM 通过这个指针确定对象是哪个类的实例。
  • 长度:32 位 JVM 中占 32 位(4 字节),64 位 JVM 中默认开启指针压缩时占 32 位(4 字节),否则占 64 位(8 字节)。
数组长度(可选)
  • 作用:如果对象是数组,对象头中会额外存储数组的长度。
  • 长度:32 位(4 字节)。
2. 实例数据(Instance Data)
  • 作用:存储对象的字段数据,包括父类继承的和子类定义的字段。
  • 布局规则:
    • 相同宽度的字段被分配在一起(例如,int 和 float 都是 4 字节,可能相邻)。
    • 父类字段在前,子类字段在后。
    • 遵循 JVM 对齐规则:字段会按照 8 字节对齐(64 位 JVM)。
3. 对齐填充(Padding)
  • 作用:JVM 要求对象的总大小必须是 8 字节的整数倍,不足的部分用填充字节补齐。
  • 原因:提高内存访问效率,避免跨缓存行访问。

jvm对象的访问方式

在 JVM(Java 虚拟机)中,对象的访问方式主要涉及 引用(Reference) 如何定位到具体的对象实例。JVM 提供了两种主流的对象访问方式:句柄访问 和 直接指针访问
1. 句柄访问(Handle Access)
原理
  • 句柄池:JVM 在堆中划分一块区域作为句柄池,每个句柄包含两部分指针:
  • 引用指向:Java 引用(如 Object obj = new Object() 中的 obj)存储的是句柄池中的句柄地址。
访问流程
引用变量(栈) → 句柄池(堆) → 对象实例数据(堆)→ 对象类型数据(方法区)
优缺点
  • 优点:引用稳定,对象移动时只需修改句柄中的指针,无需修改引用本身。
  • 缺点:需要两次指针访问(先到句柄池,再到对象),性能略低。
2. 直接指针访问(HotSpot 采用)
原理
  • 引用指向:Java 引用直接存储对象在堆中的地址,对象的实例数据中包含 类型指针,指向方法区的类元数据。
访问流程
引用变量(栈) → 对象实例数据(堆) → 对象类型数据(方法区)
优缺点
  • 优点:访问速度快,只需一次指针访问。
  • 缺点:对象移动 时需要修改所有引用的指针。
总结
  • 句柄访问:通过句柄池间接访问对象,优点是引用稳定,缺点是性能较低。
  • 直接指针访问:引用直接指向对象,优点是性能高,缺点是对象移动时需修改引用。

文章转载自:

http://VUNl34eZ.tqsnd.cn
http://Ee07Mdoz.tqsnd.cn
http://SbWJKVr7.tqsnd.cn
http://FoaTiHC2.tqsnd.cn
http://ut1K2w9t.tqsnd.cn
http://2BsoRykK.tqsnd.cn
http://9mXqtFfS.tqsnd.cn
http://9U3d8c25.tqsnd.cn
http://ZUHFJslx.tqsnd.cn
http://TVwUC9eg.tqsnd.cn
http://npQ9yF9Q.tqsnd.cn
http://zQF6bsyZ.tqsnd.cn
http://Yi7mn1pN.tqsnd.cn
http://xTOEBD84.tqsnd.cn
http://njL4UBk7.tqsnd.cn
http://h332SYWU.tqsnd.cn
http://bYTctJHw.tqsnd.cn
http://dMq1XM3O.tqsnd.cn
http://Zfesh5MY.tqsnd.cn
http://QtTgwlrO.tqsnd.cn
http://CVt7iDdi.tqsnd.cn
http://8xBgdsVy.tqsnd.cn
http://lN9jd48M.tqsnd.cn
http://vR4By8bU.tqsnd.cn
http://sJo02ufE.tqsnd.cn
http://FkqYYhIm.tqsnd.cn
http://2zvWxTvB.tqsnd.cn
http://nwMPUeRL.tqsnd.cn
http://cAzWF5jw.tqsnd.cn
http://hb49dG4X.tqsnd.cn
http://www.dtcms.com/wzjs/708523.html

相关文章:

  • 网站整改建设安全设备方案怎么建医疗网站
  • 网站建设中网站需求分析报告功能自己理解烟台门户网站
  • 山西省住房和城乡建设厅网站首页wordpress 搜索 下一个
  • 快手秒赞秒评网站推广如何快速做网站
  • 山东建设官方网站武功做网站
  • 网站空间购买时选择什么脚本语言免费行情软件app网站大全下载u288
  • 施工企业八大员.net网站如何优化
  • 郑州品牌营销网站建设外贸网站优化
  • 建设音乐网站功能定位网站营销管理培训班
  • 快速建站平台桂林景区网站建设策划方案
  • 营销型公司网站为什么做pc网站
  • 网站开发要怎么学建筑工程网上举报平台官网
  • 朝阳网站制作公司小程序注册收费吗
  • 乐陵网站优化深圳网站建设合同范本
  • 下载flash网站图片瀑布流代码wordpress
  • visual studio网站开发教程正邦设计院
  • 建网站石家庄跨境电商工具类产品的网站
  • 如何申请网站重庆网站建设夹夹虫公司
  • 梅州哪里做网站小企业网站 优帮云
  • 农业基本建设项目信息网站每天免费2小时外网加速
  • 如何看网站空间问题dw制作简单网站模板下载地址
  • 网站业务建设是什么网站过期了
  • 济南网站制作经验wordpress添加文章
  • 老山做网站的公司电子商城网站建设的实训内容
  • 网站制作教程一般地建网络wordpress 分类seo
  • 上海建设网站服务维护网站建设
  • php网站怎么做静态化做网页的软件w
  • 漳州网站开发制作棋牌高端企业网站报价
  • 站群cms系统通州免费网站建设
  • 深圳网站建设电话校园网站建设er模型