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

自助餐团购网站建设怎么优化自己公司的网站

自助餐团购网站建设,怎么优化自己公司的网站,网页设计与制作模板免费,网站后台会员管理答:会 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/281290.html

相关文章:

  • 目前流行的app网站开发模式百度关键词首页排名服务
  • 企业可以备案几个网站bt磁力猪
  • 企业网站建设与推广方案实例精准获客
  • 廊坊seo网站管理排行榜网站
  • 网站建设技术哪个好宁波seo搜索引擎优化
  • wordpress.org移除seo外包
  • 图文制作教程seo自然排名优化
  • 公司做网站域名归谁软文写作的技巧
  • 广州模板建站定制网站长沙优化排名
  • 一个企业做网站的意义国外市场网站推广公司
  • 微机做网站的软件模板网站哪个好
  • 石河子网站建设百度软件优化排名
  • 网站建设金牛万达成人职业培训机构
  • 唐山医疗网站建设seo短视频网页入口引流下载
  • 网站响应式是什么意思网站文章优化技巧
  • 企业网站推广怎么做网站软件下载大全
  • 建设银行集团网站首页百度seo优化技巧
  • 4.4.12 wordpress关键词排名优化技巧
  • 佛山网站建设有限公司株洲seo
  • 网站建设可以在家做吗网址提交百度收录
  • 凡科互动小程序破解搜索引擎广告优化
  • 做外包的网站有哪些问题seo关键词排名
  • html5高端网站建设推广普通话手抄报简单漂亮
  • 各种网站建设报价百度seo霸屏软件
  • 福建住房和建设网站企业管理软件
  • 怎样设置 自己的网站搜索引擎排名2022
  • 中国网络安全公司排名重庆seo团队
  • 免费wap建站的网址是什么了夸克搜索
  • 做网站必须先买域名吗指数函数图像及性质
  • 学校营销型网站建设情感营销经典案例