JVM并发分配内存解决方案

Posted wanghhonglin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM并发分配内存解决方案相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

以上是关于JVM并发分配内存解决方案的主要内容,如果未能解决你的问题,请参考以下文章

tomcat并发优化配置

理解 JVM 内存分配和 Java 内存不足:堆空间

关于JVM内存溢出的原因分析及解决方案探讨

java 虚拟机 JVM 内存模型(JDK8)

JVM总结的部分内容

JVM-内存分配与回收策略