美文网首页
JVM对并发分配内存处理方式

JVM对并发分配内存处理方式

作者: 香沙小熊 | 来源:发表于2021-03-06 18:09 被阅读0次

    内存分配部分

    • 为对象分配内存的基本方法:指针碰撞法、空闲列表法
    • 内存分配并发问题的解决:CAS、TLAB

    JVM对并发分配内存处理方式

    1:对进行分配内存的动作进行同步处理-实际上虚拟机采用CAS配上失败重试的方式保证更新操作的原子性。

    2:把内存分配的动作按照线程划分在不同的空间之中进行,即每个线程预先在JAVA堆中预先分配一小块内存,称为本地线程分配缓存(TLAB)。

    哪个线程要分配内存,就在哪个线程的TLAB上进行分配。只有在TLAB用完并分配新的TLAB时,才需要加同步锁。虚拟机是否使用TLAB,可以通

    过参数-XX:+/UseTLAB参数来设定。
    

    3:直接在栈上分配,如果对象没有发生逃逸,那么对象将不会再堆上分配。对象随线程的销毁而销毁,垃圾回收的时间少,性能高,吞吐量高,响应时间也能提高。

    相关文章

      网友评论

          本文标题:JVM对并发分配内存处理方式

          本文链接:https://www.haomeiwen.com/subject/jlzhqltx.html