zoukankan      html  css  js  c++  java
  • 【深入浅出-JVM】(8):TLAB

    概念

    TLAB(Thread Local Allocation Buffer)线程本地分配缓冲区(线程私有分配区,私有分配,公共查看),占用 Eden 区(缺省 Eden 的1%),默认开启,JVM 会为每一个线程分配一块 TLAB 区域,避免堆对象共享造成的多线程线程同步。

    背景

    优化多线程堆空间分配对象指针碰撞问题

    局限性

    1. TLAB空间一般不会太大,大对象直接进堆

    2. TLAB允许空间浪费,导致Eden区不连续,触发 GC

    分配策略

    一个 100KB 的 TLAB 区域,如果已经使用了 80KB,当需要分配 30KB 的对象时,虚拟机有 2 种选择:1. 废弃当前 TLAB 2.将 30KB 对象分配到堆上,保留当前 TLAB 给小于 20KB 的对象分配

    开启命令

    -XX: +UseTLAB (默认开启)


    感谢您的耐心阅读,如果您发现文章中有一些没表述清楚的,或者是不对的地方,请给我留言,您的鼓励是作者写作最大的动力。

    作 者 : @mousycoder

    原文出处 : http://mousycoder.com/thinking-in-jvm/8/

    我是浩哥,希望我的思考能帮到您!
  • 相关阅读:
    Weather with you主题说明
    搜索枚举
    洛谷P2085——最小函数值
    洛谷P1402——乒乓球
    CSP2019,RP+=150。
    搜索之连通块(深搜广搜版)
    appium
    appium环境搭建
    Python抓取淘宝IP地址数据
    记录日志
  • 原文地址:https://www.cnblogs.com/mousycoder/p/11202767.html
Copyright © 2011-2022 走看看