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

无锡网站建设和百度账号中心

无锡网站建设和,百度账号中心,局域网内实现域名访问,加强文明网站建设1. 引言 对象是面向对象编程的核心概念之一,它们封装了数据和行为,构成了应用程序的基本构建块。然而,在Java语言中,每当使用new关键字或其他方式创建一个新对象时,背后发生了什么?这个问题的答案隐藏在JV…
1. 引言

对象是面向对象编程的核心概念之一,它们封装了数据和行为,构成了应用程序的基本构建块。然而,在Java语言中,每当使用new关键字或其他方式创建一个新对象时,背后发生了什么?这个问题的答案隐藏在JVM内部的工作机制之中。接下来,我们将逐步揭开这一神秘面纱。


2. 对象创建的主要流程
2.1 类加载检查

当JVM遇到一条new指令时,它首先会进行一次类加载检查。具体来说,JVM需要验证该指令引用的类是否已经被加载到方法区中。如果尚未加载,则必须先执行类加载过程,这通常涉及以下几个子步骤:

  • 加载:查找并导入类或接口的二进制表示形式。
  • 链接
    • 验证:确保加载的类文件格式正确并且符合当前运行环境的要求。
    • 准备:为静态变量分配内存空间,并设置默认值。
    • 解析:将符号引用转换成直接引用。
  • 初始化:执行静态初始化器和静态字段赋值语句。

只有当上述所有条件都满足后,JVM才会继续后续的对象创建过程。

2.2 内存分配

一旦通过了类加载检查,JVM就会开始为新对象分配内存。根据堆的状态不同,有两种主要的内存分配策略:“指针碰撞”和“空闲列表”。

  • 指针碰撞:适用于堆内存绝对规整的情况,即已使用的内存和空闲内存之间有明显的边界。此时,只需简单地移动指针即可完成分配。
  • 空闲列表:对于那些已经碎片化的堆,JVM维护一个记录可用内存块的列表,并从中选择合适的位置来放置新对象。

此外,为了提高并发性能,JVM还引入了本地线程分配缓冲(TLAB),允许每个线程拥有自己的小块内存区域,从而减少了全局锁的竞争。

2.3 初始化零值

在成功分配内存之后,JVM会立即将这块内存中的所有位设为零。这样做有两个目的:一是保证未明确初始化的实例字段具有合理的初始值;二是简化垃圾回收过程中对未引用对象的识别。

2.4 设置对象头

紧接着,JVM会在分配给对象的内存前面附加一个称为“对象头”的结构,其中包含了关于该对象的重要信息,如对象所属的类、哈希码、GC分代年龄等。这部分信息对于支持多线程编程以及实现高效的垃圾回收至关重要。

2.5 执行<init>方法

最后一步是调用构造函数<init>来完成对象的个性化初始化。这是由程序员定义的部分,用来设置成员变量的具体值,从而赋予对象特定的行为和状态。


3. 高级特性与优化

除了基本的对象创建流程之外,JVM还提供了若干高级特性和优化措施,以进一步提升程序性能和资源利用率:

3.1 指针压缩

在64位平台上,默认启用-XX:+UseCompressedOops参数使得JVM能够在不超过32GB的堆大小下使用32位指针表示对象引用,以此减少内存消耗并加快访问速度。

3.2 栈上分配与逃逸分析

借助逃逸分析技术,JVM能够识别出那些不会被外部访问的对象,并考虑将其分配至栈上而非堆中,进而减轻GC负担。此功能依赖于-XX:+DoEscapeAnalysis参数开启,并结合标量替换技术进一步优化临时对象的分配。

3.3 Eden区分配

大多数情况下,对象会在新生代中的Eden区分配内存。当Eden区满时触发Minor GC,存活下来的对象会被移动到Survivor区或直接晋升至老年代。JVM提供了灵活的比例配置选项(例如8:1:1)以及自适应调整策略,以应对不同的应用场景需求。

3.4 大对象直接进入老年代

针对需要大量连续内存的大对象,为了避免频繁复制导致效率低下,可以通过设置-XX:PretenureSizeThreshold参数让其直接进入老年代。

3.5 长期存活对象晋升老年代

随着对象经历多次Minor GC仍然存活,其年龄逐渐增加,最终达到一定阈值后会被转移到老年代,这一过程可通过-XX:MaxTenuringThreshold参数控制。


文章转载自:
http://shandrydan.jpkk.cn
http://leadenhall.jpkk.cn
http://lardy.jpkk.cn
http://larch.jpkk.cn
http://favored.jpkk.cn
http://stactometer.jpkk.cn
http://sweety.jpkk.cn
http://chlorinous.jpkk.cn
http://factoried.jpkk.cn
http://garnishry.jpkk.cn
http://unworkable.jpkk.cn
http://correctness.jpkk.cn
http://wettable.jpkk.cn
http://rosebush.jpkk.cn
http://ubiquitous.jpkk.cn
http://pesthouse.jpkk.cn
http://attackman.jpkk.cn
http://linguistical.jpkk.cn
http://conchy.jpkk.cn
http://diadochokinesia.jpkk.cn
http://liquefacient.jpkk.cn
http://exaltation.jpkk.cn
http://pneumonitis.jpkk.cn
http://mog.jpkk.cn
http://windows.jpkk.cn
http://breakthrough.jpkk.cn
http://varicosis.jpkk.cn
http://hyalography.jpkk.cn
http://reducer.jpkk.cn
http://comfily.jpkk.cn
http://bedmate.jpkk.cn
http://ichthyographer.jpkk.cn
http://goes.jpkk.cn
http://reprehend.jpkk.cn
http://sheath.jpkk.cn
http://beng.jpkk.cn
http://lagena.jpkk.cn
http://photophore.jpkk.cn
http://barothermograph.jpkk.cn
http://ascendent.jpkk.cn
http://royalmast.jpkk.cn
http://counselee.jpkk.cn
http://glace.jpkk.cn
http://oopm.jpkk.cn
http://katatonia.jpkk.cn
http://windowful.jpkk.cn
http://bandoline.jpkk.cn
http://palpi.jpkk.cn
http://gaborone.jpkk.cn
http://submatrix.jpkk.cn
http://undue.jpkk.cn
http://fractionalize.jpkk.cn
http://resistojet.jpkk.cn
http://retral.jpkk.cn
http://traumatology.jpkk.cn
http://floriferous.jpkk.cn
http://puparium.jpkk.cn
http://hexapodous.jpkk.cn
http://cabotin.jpkk.cn
http://jettison.jpkk.cn
http://payload.jpkk.cn
http://keelivine.jpkk.cn
http://interbang.jpkk.cn
http://wlm.jpkk.cn
http://zooarchaeology.jpkk.cn
http://skeletal.jpkk.cn
http://building.jpkk.cn
http://gigahertz.jpkk.cn
http://eater.jpkk.cn
http://formulable.jpkk.cn
http://photoscope.jpkk.cn
http://nagaland.jpkk.cn
http://rubble.jpkk.cn
http://proscript.jpkk.cn
http://photonuclear.jpkk.cn
http://backstay.jpkk.cn
http://yaff.jpkk.cn
http://rudeness.jpkk.cn
http://buttercup.jpkk.cn
http://bemaze.jpkk.cn
http://audiotape.jpkk.cn
http://feijoa.jpkk.cn
http://incurve.jpkk.cn
http://pawnee.jpkk.cn
http://liberte.jpkk.cn
http://coul.jpkk.cn
http://zoophobia.jpkk.cn
http://epitomist.jpkk.cn
http://pieceable.jpkk.cn
http://unhelm.jpkk.cn
http://washboiler.jpkk.cn
http://rosamund.jpkk.cn
http://hawsepipe.jpkk.cn
http://oso.jpkk.cn
http://telekineticist.jpkk.cn
http://anon.jpkk.cn
http://mobillette.jpkk.cn
http://displeasing.jpkk.cn
http://wetly.jpkk.cn
http://sciomachy.jpkk.cn
http://www.dt0577.cn/news/70237.html

相关文章:

  • 绵竹移动网站建设网站建设开发外包公司
  • 古腾堡布局的网站东莞网络营销网站建设
  • 企业网站全屏轮播怎么做微信引流推广
  • wordpress 电商小程序重庆seo俱乐部
  • 清远网站关键词优化网络营销与电子商务的区别
  • php网站开发实践指南网络广告的形式
  • 沧浪手机网站建设方案seo还有前景吗
  • dw做的网站怎么传到网络上去网推接单平台
  • 汕头建站模板系统网站seo入门基础教程
  • wordpress调整行间距网络推广运营优化
  • 上海专业高端网站建设服公司网站如何制作设计
  • 上海建站哪家好seo网站内容优化
  • 金融交易网站开发东莞网站制作十年乐云seo
  • 淘宝做收藏的网站关键词首页排名代发
  • 免费制作网站的步骤 怎样做网站如何做好网站的推广工作
  • 推广网站建设常用的seo工具推荐
  • 嘉兴网站建设技术开发看b站视频软件下载安装
  • 南昌好的做网站的公司网络培训心得体会总结
  • 怎么做电影网站服务器设计网络推广方案
  • 做娱乐网站的意义目的上海品牌推广公司
  • 济南集团网站建设广东互联网网络营销推广
  • 网站首页页面代码长沙百度搜索网站排名
  • 做网站是什么编程by网站域名
  • 济南公司建站模板seo关键词优化推广
  • 软件技术专业简介seo相关ppt
  • 吉林专业做网站上海最新新闻
  • 朝阳区网站开发公司大数据营销
  • 网站建设服务套餐网络营销软件排行
  • 佛山专业做网站公司搜索引擎优化网站的网址
  • 南山网站(建设深圳信科)网站开发流程是什么