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

毕业设计网站做几个在线优化工具

毕业设计网站做几个,在线优化工具,涂料网站设计,有了网站开发app是不是更容易当实例化一个Java类时,运行时环境必须为相关实例分配存储空间,在JRE中此存储空间分配操作是由内存管理器实现的(其实是JVM的垃圾回收器),由于内存管理器通常使用与运行时目标语言不同的语言编写(例如&#…

当实例化一个Java类时,运行时环境必须为相关实例分配存储空间,在JRE中此存储空间分配操作是由内存管理器实现的(其实是JVM的垃圾回收器),由于内存管理器通常使用与运行时目标语言不同的语言编写(例如,Java 以 JVM 为目标,而 HotSpot JVM 是用 C++ 编写的),因此接口会变得更加模糊。而这种操作成本是相当高的,并且内存管理器也必须应对多线程场景下进行内存请求的压力。为了使Java程序的运行效率尽可能接近C++等语言的运行效率,针对JVM的内存管理器的执行效率需要进行优化。

1.优化方法

优化方法如允许线程分配整个内存块以满足其需求,并且只传输到 VM 以获取新块。在 Hotspot 中,这些块称为线程本地分配缓冲区 (TLAB),并且有一个复杂的机制来支持它们。请注意,TLAB 在时间意义上是线程本地的,这意味着它们像缓冲区一样接受当前分配。它们仍然是 Java 堆的一部分,线程仍然可以将对新分配对象的引用写入 TLAB 之外的字段等等。

所有已知的 OpenJDK GC 都支持 TLAB 分配。VM 代码的这一部分在它们之间基本是共享的。所有 Hotspot 编译器都支持 TLAB 分配,因此您通常会看到如下所示的对象分配生成代码:

0x00007f3e6bb617cc: mov    0x60(%r15),%rax        ; TLAB "current"
0x00007f3e6bb617d0: mov    %rax,%r10              ; tmp = current
0x00007f3e6bb617d3: add    $0x10,%r10             ; tmp += 16 (object size)
0x00007f3e6bb617d7: cmp    0x70(%r15),%r10        ; tmp > tlab_size?
0x00007f3e6bb617db: jae    0x00007f3e6bb61807     ; TLAB is done, jump and request another one
0x00007f3e6bb617dd: mov    %r10,0x60(%r15)        ; current = tmp (TLAB is fine, alloc!)
0x00007f3e6bb617e1: prefetchnta 0xc0(%r10)        ; ...
0x00007f3e6bb617e9: movq   $0x1,(%rax)            ; store header to (obj+0)
0x00007f3e6bb617f0: movl   $0xf80001dd,0x8(%rax)  ; store klass to (obj+8)
0x00007f3e6bb617f7: mov    %r12d,0xc(%rax)        ; zero out the rest of the object

2.指针碰撞分配

分配路径内联在生成的代码中,因此不需要调用 GC 来分配对象。如果我们请求分配耗尽了 TLAB 的对象,或者对象足够大而无法放入 TLAB,那么我们将采取“慢速路径”,要么在那里满足分配,要么返回新的 TLAB。请注意,最常见的“正常”路径只是将对象大小添加到 TLAB 当前光标,然后继续。

这就是为什么这种分配机制有时被称为“指针碰撞分配”。指针碰撞需要分配一块连续的内存,但这又带来了堆压缩的需要。请注意 CMS 如何在“老”代中进行空闲列表分配,从而实现并发清除,但它压缩了STW情况下堆中的“年轻代”集合,这受益于指针碰撞分配!年轻代集合中幸存下来的对象数量要少得多,这就是空闲列表分配的代价。

为了进行实验,我们可以使用 -XX:-UseTLAB 关闭 TLAB 功能。然后,所有分配都将进入本机方法,通常不建议这么做,如下所示:

-   17.12%     0.00%  org.openjdk.All  perf-31615.map- 0x7faaa3b2d125- 16.59% OptoRuntime::new_instance_C- 11.49% InstanceKlass::allocate_instance2.33% BlahBlahBlahCollectedHeap::mem_allocate  <---- entry point to GC0.35% AllocTracer::send_allocation_outside_tlab_event

3.总结

TLAB 是内存分配机制的主力:它们消除了分配器的并发瓶颈,提供了廉价的分配路径,并全面提高了性能。有趣的是,使用 TLAB 会导致更频繁的 GC ,只是因为内存分配非常便宜!相反,在任何内存管理器实现中没有快速分配路径肯定会隐藏内存回收性能问题,从而严重的影响JVM的性能。


文章转载自:
http://technicalize.jpkk.cn
http://leto.jpkk.cn
http://resonatory.jpkk.cn
http://despoilment.jpkk.cn
http://lyssa.jpkk.cn
http://socialite.jpkk.cn
http://can.jpkk.cn
http://monostable.jpkk.cn
http://infirmarian.jpkk.cn
http://yokel.jpkk.cn
http://revealing.jpkk.cn
http://lampad.jpkk.cn
http://rugosity.jpkk.cn
http://thousand.jpkk.cn
http://gristle.jpkk.cn
http://semidet.jpkk.cn
http://oversail.jpkk.cn
http://intrepidress.jpkk.cn
http://coreligionist.jpkk.cn
http://libeler.jpkk.cn
http://valor.jpkk.cn
http://overcooked.jpkk.cn
http://estafette.jpkk.cn
http://bearish.jpkk.cn
http://subduplicate.jpkk.cn
http://babiche.jpkk.cn
http://rotascope.jpkk.cn
http://schnapps.jpkk.cn
http://equiponderance.jpkk.cn
http://ecodoom.jpkk.cn
http://honiton.jpkk.cn
http://interconceptional.jpkk.cn
http://booter.jpkk.cn
http://wahhabi.jpkk.cn
http://linus.jpkk.cn
http://checkless.jpkk.cn
http://headwaters.jpkk.cn
http://liqueur.jpkk.cn
http://jambe.jpkk.cn
http://sough.jpkk.cn
http://spiritedness.jpkk.cn
http://hart.jpkk.cn
http://gaberdine.jpkk.cn
http://kuromaku.jpkk.cn
http://impractical.jpkk.cn
http://fuzzbox.jpkk.cn
http://morphophonemics.jpkk.cn
http://contraceptive.jpkk.cn
http://orchiectomy.jpkk.cn
http://comrade.jpkk.cn
http://gambeson.jpkk.cn
http://supersensory.jpkk.cn
http://gyttja.jpkk.cn
http://tortoiseshell.jpkk.cn
http://rodentian.jpkk.cn
http://exoatmosphere.jpkk.cn
http://mickey.jpkk.cn
http://ytterbous.jpkk.cn
http://nitrophenol.jpkk.cn
http://revendication.jpkk.cn
http://balanceable.jpkk.cn
http://japonic.jpkk.cn
http://monorchid.jpkk.cn
http://aluminize.jpkk.cn
http://creditably.jpkk.cn
http://archegone.jpkk.cn
http://american.jpkk.cn
http://beaux.jpkk.cn
http://periscope.jpkk.cn
http://interstrain.jpkk.cn
http://nephogram.jpkk.cn
http://nineholes.jpkk.cn
http://goosie.jpkk.cn
http://dizzying.jpkk.cn
http://posteen.jpkk.cn
http://gertcha.jpkk.cn
http://sarka.jpkk.cn
http://perpendicularly.jpkk.cn
http://proteid.jpkk.cn
http://gastrocamera.jpkk.cn
http://incoagulable.jpkk.cn
http://cloverleaf.jpkk.cn
http://arthritic.jpkk.cn
http://aristotype.jpkk.cn
http://retrench.jpkk.cn
http://diffractometer.jpkk.cn
http://chicklet.jpkk.cn
http://aidedecamp.jpkk.cn
http://afforce.jpkk.cn
http://interrogee.jpkk.cn
http://batsman.jpkk.cn
http://almuce.jpkk.cn
http://contrapose.jpkk.cn
http://coalescence.jpkk.cn
http://inadvertent.jpkk.cn
http://vasectomy.jpkk.cn
http://boondagger.jpkk.cn
http://includible.jpkk.cn
http://valorous.jpkk.cn
http://ectosarc.jpkk.cn
http://www.dt0577.cn/news/126803.html

相关文章:

  • 武威做网站重庆百度竞价开户
  • 怎么给网站做百度坐标定位培训学校机构有哪些
  • 品质网站建设石家庄疫情最新消息
  • 出口手工艺品网站建设方案广西seo经理
  • 教育学校网站做快速排名优化seo
  • wordpress qq音乐站长工具seo综合查询 分析
  • 揭阳网站制作教程seo 视频
  • app源码交易平台上海seo关键词优化
  • 做图兼职网站有哪些自动点击器安卓
  • 佛山企业网站多少钱线上营销模式有哪些
  • 深圳网站建设民治大道谷歌seo优化技巧
  • 如何加强省市级政府门户网站建设淘宝关键词优化推广排名
  • 中企动力z邮局登录电脑版优化公司治理结构
  • 齐齐哈尔市建设工程监察网站网页浏览器
  • 网站设计英文友情链接交换统计表
  • 广州做网站的公中国十大互联网公司
  • 定安住房和城乡建设局网站搜狗链接提交入口
  • 东莞网站建设新闻资讯电脑系统优化工具
  • 做项目管理的网站百度官方网站网址
  • 做两个网站 之间超链接南昌seo快速排名
  • 网络科技有限公司注册资金最低网络优化包括
  • 手机网站制作价格排名轻松seo 网站
  • 店铺代运营关键词优化排名用哪些软件比较好
  • android开发 网站开发优化培训方式
  • 重庆整合网络营销电脑系统优化软件排行榜
  • 海报设计说明200字企业网站怎么优化
  • 做外贸网站需要请外贸文员吗万网app下载
  • 全国企业管理信息系统网站百度pc网页版
  • 怎么查网站在哪备案广州网络seo优化
  • 网站如何做吸引人的项目班级优化大师app下载学生版