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

龙腾盛世网站建设广州企业推广

龙腾盛世网站建设,广州企业推广,外包服务费税率,网站备案到公司名称一.类的加载与检查 当我们new了一个对象的时候,首先会去检查一下这个指令是否在常量池中存在符号引用,并且检查这个符号引用代表的对象是否被加载,解析初始化过,如果没有就要先去进行类加载过程 二.分配内存 我们通过第一步的检…

一.类的加载与检查

当我们new了一个对象的时候,首先会去检查一下这个指令是否在常量池中存在符号引用,并且检查这个符号引用代表的对象是否被加载,解析初始化过,如果没有就要先去进行类加载过程

二.分配内存

我们通过第一步的检查后,就会在堆中划分出一块对象所需要的内存大小,至于分配方式有两种,指针碰撞,空闲列表。选择哪种分配方式由 Java 堆是否规整决定,而 Java 堆是否规整又由所采用的垃圾收集器是否带有压缩整理功能决定。

指针碰撞

适用于没有内存碎片的情况,原理:用过的内存全部整合到一边,没有用过的内存放在另一边,中间有一个分界指针,只需要向着没用过的内存方向将该指针移动对象内存大小位置即可。
使用该分配方式的 GC 收集器:Serial, ParNew

空闲列表

适用于堆内存不是很规则的情况下,原理就是找一块合适的内存来分配给对象,使用该分配方式的GC收集器 CMS

JAVA内存是否规则取决于垃圾回收器采用的是标记-整理法还是标记清除法

三.初始化

内存分配完成后,虚拟机需要将分配到的内存空间都初始化为零值(不包括对象头),这一步操作保证了对象的实例字段在 Java 代码中可以不赋初始值就直接使用,程序能访问到这些字段的数据类型所对应的零值。

四.设置对象头

初始化零值完成之后,虚拟机要对对象进行必要的设置,例如这个对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码、对象的 GC 分代年龄等信息。 这些信息存放在对象头中。 另外,根据虚拟机当前运行状态的不同,如是否启用偏向锁等,对象头会有不同的设置方式。
 

五.执行init方法

在上面工作都完成之后,从虚拟机的视角来看,一个新的对象已经产生了,但从 Java 程序的视角来看,对象创建才刚开始,<init> 方法还没有执行,所有的字段都还为零。所以一般来说,执行 new 指令之后会接着执行 <init> 方法,把对象按照程序员的意愿进行初始化,这样一个真正可用的对象才算完全产生出来。
 

http://www.dtcms.com/wzjs/34288.html

相关文章:

  • 工业信息化部网站备查询新手怎么做网页
  • 做网站怎么找优质客户广州疫情升级
  • 大连python培训深圳知名网络优化公司
  • 网站建设修改教程视频手机清理优化软件排名
  • 潍坊哪里做网站网络营销的10个特点
  • 网站打开慢如何优化如何优化搜索引擎
  • 做视频网站用什么格式好金华百度seo
  • 外贸网站推广公司最大南京网站设计公司大全
  • 哪个网站可以做海报南京搜索引擎推广优化
  • 做一个网站开发要多少钱爱战网关键词挖掘
  • 做个浏览器多少钱惠州短视频seo
  • 阳江网络问政平台新闻发布会深圳关键词排名seo
  • 网站建设规划书道客巴巴郑州建网站的公司
  • 平面设计兼职怎么收费长沙正规竞价优化服务
  • 无锡本地做网站seo手机端排名软件
  • a站app优化搜索引擎营销
  • 天津自己制作网站长沙有实力seo优化公司
  • 网站死链接检查澎湃新闻
  • 西亚网站建设科技一键seo提交收录
  • 稿定设计官方免费下载网站建设公司seo关键词
  • 福田网站开发新媒体营销策略有哪些
  • 网站备案需要当面核验哪些信息大连头条热点新闻
  • 网站开发制作全包服务营销理论
  • 网站设计书搜索引擎排名查询工具
  • 天地做网站南平seo
  • jquery代码做的网站沈阳关键词seo
  • 洪梅网站建设抚顺seo
  • 国外做兼职网站免费发布推广的平台
  • 哪个网站有做阿里巴巴流量网站广告调词平台
  • 工信部网站域名备案查询系统线上营销推广渠道