【JVM】第二篇 JVM内存模型深度剖析与优化

目录

      • 一. JDK体系结构与跨平台特性介绍
      • 二. JVM内存模型深度剖析
      • 三. 从Jvisualvm来研究下对象内存流转模型
      • 四. GC Root与STW机制
      • 五. JVM参数设置通用模型

一. JDK体系结构与跨平台特性介绍

【JVM】第二篇 JVM内存模型深度剖析与优化_第1张图片

二. JVM内存模型深度剖析

【JVM】第二篇 JVM内存模型深度剖析与优化_第2张图片

  1. 按照线程是否共享来划分
    【JVM】第二篇 JVM内存模型深度剖析与优化_第3张图片
    TLAB(Thread Local Allocation Buffer)线程本地分配缓存区,这是一个线程专用的内存分配区域
    由于对象一般会分配在上,而堆是全局共享的。因此在同一时间,可能会有多个线程在堆上申请空间。因此,每次对象分配都必须要进行同步,在竞争激烈的场合分配的效率又会进一步下降, JVM使用TLAB来避免多线程冲突,在给对象分配内存时,每个线程使用自己的TLAB,这样可以避免线程同步,提高了对象分配的效率

  2. JVM内存模型清晰版(结合代码分步解析)
    【JVM】第二篇 JVM内存模型深度剖析与优化_第4张图片

public class Math {
   

    private static final int INIT_DATA = 666;
    private static User user = new User();

    public int compute(){
   
        int a = 1;
        int b = 2;
        int c = (a + b) * 10;
        return c;
    }

    public static void 

你可能感兴趣的:(#,JVM,Java,jvm,java)