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

响应式网站模板网络营销推广的八大核心

响应式网站模板,网络营销推广的八大核心,建设网站公司哪家好,电商设计师工资高吗在 Java 中#xff0c;对象的内存分配是一个复杂但非常重要的过程。理解对象在堆中的分配方式#xff0c;尤其是新生代和老年代的区别#xff0c;对于优化 Java 应用程序的性能至关重要。本文将详细探讨 Java 对象在堆中的分配机制#xff0c;包括新生代、老年代、Survivor…在 Java 中对象的内存分配是一个复杂但非常重要的过程。理解对象在堆中的分配方式尤其是新生代和老年代的区别对于优化 Java 应用程序的性能至关重要。本文将详细探讨 Java 对象在堆中的分配机制包括新生代、老年代、Survivor 区等概念以及大对象、长期存活对象的处理方式。 1 对象优先在 Eden 区分配 Java 堆内存分为新生代和老年代。新生代主要用于存放生命周期较短的对象而老年代则用于存放生命周期较长的对象。新生代又进一步细分为 Eden 区、From Survivor 区和 To Survivor 区。 当我们创建一个新对象时它首先会被分配到 Eden 区。随着对象的不断创建Eden 区的内存空间逐渐减少。当 Eden 区的内存不足时会触发 Minor GC年轻代垃圾回收。在 Minor GC 过程中JVM 会清理 Eden 区中不再使用的对象并将存活的对象转移到 From Survivor 区。 2 Survivor 区的对象复制 Minor GC 后新创建的对象仍然会继续分配到 Eden 区。随着 Eden 区的内存再次减少又会触发下一次 Minor GC。这次JVM 不仅会清理 Eden 区还会清理 From Survivor 区。存活的对象会被转移到 To Survivor 区。在下一次 Minor GC 时存活的对象又会从 To Survivor 区转移回 From Survivor 区。这样Survivor 区总是有一个是空的另一个是无碎片的。 3 大对象直接进入老年代 对于一些特别大的对象如果让它们在 Survivor 区之间频繁复制会带来较大的性能开销。因此JVM 会将这些大对象直接分配到老年代以避免不必要的复制操作。 可以通过 -XX:PretenureSizeThreshold 参数来设置大对象的阈值。例如如果希望将大于 1MB 的对象直接分配到老年代可以设置 -XX:PretenureSizeThreshold10485764 长期存活的对象进入老年代 对象在 Survivor 区之间每经历一次 Minor GC它的年龄就会增加。当对象的年龄达到一定阈值默认是 15 岁它就会被晋升到老年代。可以通过 -XX:MaxTenuringThreshold 参数来调整这个阈值。 此外JVM 还会通过动态年龄判断来决定是否将对象晋升到老年代。JVM 会检查每个年龄段的对象大小并估算它们在 Survivor 区中所占的总体积。如果某个年龄段及以上的对象占据了 Survivor 区的大部分空间这些对象将被直接晋升到老年代。 5 空间分配担保 在进行 Minor GC 之前JVM 会检查老年代是否有足够的连续空间来存放新生代中所有存活的对象。如果老年代的空间不足JVM 会根据 HandlePromotionFailure 参数的设置来决定是否进行 Full GC。 如果 HandlePromotionFailure 设置为 true默认值JVM 会尝试继续 Minor GC即使老年代空间不足。如果 Minor GC 后Survivor 区无法存放所有存活对象JVM 会将这些对象直接放入老年代。如果老年代仍然无法容纳这些对象则会触发 Full GC。 6 栈和方法区 虽然 Java 中的对象主要分配在堆中但对象的引用通常存放在栈中。例如当你声明一个变量 MyClass obj new MyClass(); 时变量 obj即对象的引用存储在栈上而实际的对象则存储在堆中。 方法区用于存储类信息、常量、静态变量以及即时编译器编译后的代码。在 Java 8 中永久代被元空间Metaspace取代元空间使用本地内存而非 JVM 内存。 7 总结 Eden 区新创建的对象优先分配在 Eden 区。Survivor 区存活的对象在 Survivor 区之间复制直到达到一定年龄。老年代大对象和长期存活的对象最终会进入老年代。动态年龄判断根据对象的大小和年龄JVM 会动态决定是否将对象晋升到老年代。空间分配担保JVM 通过空间分配担保机制来确保 Minor GC 的顺利进行。 理解这些内存分配机制有助于我们更好地优化 Java 应用程序的性能减少垃圾回收的开销提升系统的稳定性。 8 思维导图 9 参考链接 Java创建的对象到底放在哪新生代还是老年代
http://www.dnsts.com.cn/news/42937.html

相关文章:

  • 重庆城市管理学院网站手机网站建设设计
  • 保定市建设局安监网站凯里信息网
  • 企业为什么要做建站wordpress 自定义 空白
  • 临安市建设局网站设计类专业学校有哪些
  • 小学网站模板源码网页如何设计跑马灯效果
  • 企业标准型手机网站不适合做室内设计的人
  • 烟台市龙口建设局网站网站开发的三个流程
  • 招远做网站公司dw网页制作教程装修手册
  • 网站开发学生职业规划给个网址2022年能用的
  • 财政网站平台建设不足seo需要付费吗
  • 网站建设与维护教学视频教程北京网站建设公司黄页
  • 李青青做网站 公司主要做应用领域衡水网站建设怎么做
  • 怎么做商业网站模板罗湖网站建设设计
  • 城乡和住房建设厅网站网站产品图怎么做
  • 网站后台如何开发阿里云这么建设网站
  • 我想做卖鱼苗网站怎样做公司网页怎么设计
  • 未来做那些网站能致富如何做视频网站流程图
  • 企业官方网站如何做蓝v认证网站建设佰首选金手指十八
  • 电商网站 服务器微信做网站的弊端
  • 网站做的像会侵权吗wordpress ajax 注册
  • 公司付的网站费怎么做分录wordpress get author link
  • 企业网站建设三网合一怎样做自己的微商网站6
  • 咸阳市建设局网站长春网站建设与健
  • 建立问答类的网站网站做担保交易平台
  • 江西省网站建设先进表彰排名优化软件点击
  • 网站建设费财务列账更改wordpress密码
  • 北京的网站建设收费标准找潍坊做网站的
  • 哈尔滨网站建设技术托管青岛在线建站排名公司
  • 本溪建设网站微信代码生成器
  • 域名做违法网站长春网站建设推荐网诚传媒