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

网站文章百度不收录wordpress瀑布流模板

网站文章百度不收录,wordpress瀑布流模板,小制作作文400字,h5制作平台官网免费文章目录 1. 类加载检查2. 内存分配① 指针碰撞② 空闲列表线程安全问题: 3. 内存空间初始化4. 对象头设置5. 对象初始化 当Java虚拟机遇到一条 new指令时,会执行以下步骤来创建对象: 1. 类加载检查 首先检查new指令的参数是否能在常量池中…

文章目录

  • 1. 类加载检查
  • 2. 内存分配
    • ① 指针碰撞
    • ② 空闲列表
    • ==线程安全问题==:
  • 3. 内存空间初始化
  • 4. 对象头设置
  • 5. 对象初始化

当Java虚拟机遇到一条 new指令时,会执行以下步骤来创建对象:
在这里插入图片描述

1. 类加载检查

首先检查new指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,必须先执行相应的类加载过程。

2. 内存分配

内存分配有两种方式:

① 指针碰撞

如果Java堆内存是规整的,所有被使用过的内存都被放在一 边,空闲的内存被放在另一边,中间放着一个指针作为分界点的指示器,那所分配内存就仅仅是把那 个指针向空闲空间方向挪动一段与对象大小相等的距离,这种分配方式称为“指针碰撞”(Bump The Pointer)。
在这里插入图片描述

② 空闲列表

如果Java堆内存不规整,已被使用的内存和空闲的内存相互交错在一起,那就没有办法简单地进行指针碰撞了,虚拟机就必须维护一个列表,记录上哪些内存块是可用的,在分配的时候从列表中找到一块足够大的空间划分给对象实例,并更新列表上的记录,这种分配方式称为“空闲列表”(Free List)。

内存是否规整取决于垃圾收集器是否带有压缩整理功能。例如,Serial和ParNew等带有Compact过程的收集器采用“指针碰撞”,而CMS这种基于Mark-Sweep算法的收集器通常采用“空闲列表”。

线程安全问题

除了分配方式外,由于对象创建在虚拟机中是一个非常频繁的行为,此时需要保证在并发环境下的线程安全:如果一个线程给对象 A 分配了内存空间,但指针还没来得及修改,此时就可能出现另外一个线程使用原来的指针来给对象 B 分配内存空间的情况。想要解决这个问题有两个方案:

  • 方式一:采用同步锁定,或采用 CAS 配上失败重试的方式来保证更新操作的原子性。

CAS操作的基本逻辑是:
(1)比较某个变量的当前值是否等于预期值。
(2)如果相等,则将该变量更新为新值。
(3)如果不相等,则返回当前值,调用方可以选择重

  • 方式二:每个线程在Java堆中预先分配一小块内存,称为本地线程分配缓冲(Thread Local AllocationBuffer,TLAB),哪个线程要分配内存,就在哪个线程的本地缓冲区中分配,TLAB是线程私有的内存缓冲区,只有本地缓冲区用完了,分配新的缓存区时才需要同步锁定。

3. 内存空间初始化

分配内存后,虚拟机会将分配到的内存空间初始化为零值,如果使用了TLAB的话,这一项工作也可以提前至TLAB分配时顺便进行。

4. 对象头设置

设置对象头信息,包括对象的类元数据指针、哈希码、GC分代年龄等。

5. 对象初始化

在上面工作都完成之后,从虚拟机的视角来看,一个新的对象已经产生了。但是从Java程序的视角看来,对象创建才刚刚开始——构造函数,即Class文件中的<init>()方法还没有执行,new指令之后会接着执行<init>()方法,按照程序员的意愿对对象进行初始化。

在这里插入图片描述

http://www.yayakq.cn/news/111531/

相关文章:

  • 成都有哪些网站建设医疗网站建设好么
  • 京东企业集团网站建设方案wordpress代码行号
  • 电商平台网站开发过程是什么在线html制作网页
  • 郑州公司做网站汉狮网站中微信公众号链接怎么做
  • 网站建设分为seo就业哪家好
  • 网站外部外链建设订餐网站系统建设方案
  • 做p2p网站的公司怎么查询网站后台地址
  • 网站功能模块什么意思网站建设的技术有哪些内容
  • 班组建设网站手机网站收录
  • 专业型企业网站有哪些优秀网站建设哪家好
  • 阿里云服务器怎么发布网站上海网站建设 paiky
  • 网站建设公司推荐部队网站建设总结
  • 优惠券网站开发哪家好如何做网站营销
  • 哪个网站可以自己做名片教育培训网站排名
  • 徐州品牌网站建设网站做计算功能
  • 做360手机网站瓯北网站制作系统
  • vue做门户网站个人网站需要什么页面
  • 邙山郑州网站建设拓者设计吧室内设计
  • 网站规划内容包括郑州购物网站建设
  • 网页设计和网站制作一般网站建设
  • 织梦模板网站源码网站开发好公司
  • 网站空间 群集怎么制作一个自己的网页
  • 济宁网站开发ps怎么做网页制作
  • 成都网站建设:思乐科技广州海珠网站设计
  • 讲究 网站织梦中英文版网站怎么做
  • 网站弹幕代码无锡网络推广
  • 网站目录不能访问电商运营数据分析表格
  • 深圳网站设计 建设科技有限公司设计教育
  • 搞笑资讯网站源码虚拟主机建站
  • 怎么免费建商城网站吗WordPress页面模板功能不见了