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

wordpress投稿插件 汉化网站优化过度的表现

wordpress投稿插件 汉化,网站优化过度的表现,o2o模式成功案例,企业手机端网站模板下载答:会 new对象时。指针会向右移动一个对象大小的距离,假如一个线程A正在给字符串对象S分配内存。另外一个线程B同时为ArrayList对象1分配内存,两个线程就发生了抢占。 JVM怎么解决堆内存分配的竞争问题? 为了解决堆内存分配的抢占…

答:会

new对象时。指针会向右移动一个对象大小的距离,假如一个线程A正在给字符串对象S分配内存。另外一个线程B同时为ArrayList对象1分配内存,两个线程就发生了抢占。

JVM怎么解决堆内存分配的竞争问题?
为了解决堆内存分配的抢占问题,JVM为每个线程保留了一小块的内存空间,被称为TLAB也就是线程本地分配缓冲区。用于存放该线程分配的对象。

当线程需要分配对象时,直接从TLAB中分配,只有当TLAB用尽或者对象太大需要直接在堆中分配时,才会使用全局分配指针。

这⾥简单测试⼀下 TLAB。

可以通过 java -XX:+PrintFlagsFinal -version | grep TLAB 命令查看当前 JVM 是否开启了 TLAB。

如果开启了 TLAB,会看到类似以下的输出,其中 bool UseTLAB 的值为 true。

我们编写⼀个简单的测试类,创建⼤量对象并强制触发垃圾回收,查看 TLAB 的使⽤情况。

class TLABDemo {public static void main(String[] args) {for (int i = 0; i < 10_000_000; i++) {allocate(); // 创建⼤量对象}		System.gc(); // 强制触发垃圾回收}private static void allocate() {// ⼩对象分配,通常会使⽤ TLABbyte[] bytes = new byte[64];}
}

在 VM 参数中添加 -XX:+UseTLAB -XX:+PrintTLAB -XX:+PrintGCDetails -XX:+PrintGCDateStamps ,运⾏后可以看到这样的内容:

waste:未使⽤的 TLAB 空间。

alloc:分配到 TLAB 的空间。

refills:TLAB 被重新填充的次数。

可以看到,当前线程的 TLAB ⽬标⼤⼩为 10,496 KB( desired_size: 10496KB );未发⽣慢分配( slow allocs: 0 );分配效率直接拉满( alloc: 1.00000 52494KB )。

当使⽤ -XX:-UseTLAB -XX:+PrintGCDetails 关闭 TLAB 时,会看到类似以下的输出:

直接出现了两次 GC,因为没有 TLAB,Eden 区更快被填满,导致年轻代 GC。年轻代 GC 频繁触发,⼀部分⻓⽣命周期对象被晋升到⽼年代,间接导致⽼年代 GC 触发。

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

相关文章:

  • 绿茵足球网站建设网站开发布局
  • 建微信网站河南工程建设信息网查询
  • 网站建设实现的目标河南建设工程信息网下载
  • 多少个网站程序制作软件
  • 清远专业网站建设服务t想学网站建设
  • 合肥建设局网站官网网站建设开发成本
  • 牛商网做网站多少钱免费平面设计软件有哪些
  • 学校网站内容wordpress 房屋租赁
  • 如何做网站站内搜索电商网站建设内容
  • 西固网站建设推广计划怎么做推广是什么
  • 做模板网站赚钱吗无后台网站的维护
  • 织梦网站制作教程韩国vs加纳分析比分
  • 用自己的电脑做主机建网站会展相关app和网站的建设情况
  • 蓝田网站建设免费ip地址代理软件
  • 网站营销活动页面制作优秀的设计
  • 长沙公交优化优化网站的意思
  • 哈尔滨发布信息的网站为企业开发网站
  • 学校网站开发研究的意义和目的个人网站开发制作教程
  • 济南网站建设是什么意思闲鱼网络营销方式
  • 广东建设银行网站首页wordpress返回上页
  • 广东公司网站建设电商怎么入门
  • 南昌市做网站公司商标图案参考
  • 不做网站只做推广可以么海岸城网站建设
  • 能免费建网站吗网站建设合同需注意什么
  • 怎么做网页漂亮成都seo优化外包公司
  • 旅游网站设计asp危险网站怎么做腾讯云认证
  • 成都网站开发制作网站建设注意哪些
  • 湖南网站推杭州观建设计网站
  • 做跨境的网站有哪些内容营销型网站设计报价
  • 上海网站建设报价单ssh建wordpress