美文网首页
逃逸分析、标量替换、线程本地分配

逃逸分析、标量替换、线程本地分配

作者: 心無旁騖丶 | 来源:发表于2021-02-16 22:49 被阅读0次
  • 栈上分配
    1.线程私有小对象
    2.无逃逸,就在某段代码中使用
    3.支持标量替换
    无需调整
  • 线程本地分配TLAB(Thread Local Allocation Buffer)
    1.占用Eden,默认1%
    2.多线程的时候不用竞争Eden就可以申请空间,提高效率
    3.小对象
    无需调整
实验:

开启和关闭逃逸分析、标量替换、线程本地分配后的运行速度

public class TestTLAB {
//-XX:-DoEscapeAnalysis -XX:-EliminateAllocations -XX:-UseTLAB
//逃逸分析               标量替换                   线程本地分配
    class User {
        int id;
        String name;

        public User(int id, String name) {
            this.id = id;
            this.name = name;
        }
    }

    void alloc(int i) {
        new User(i, "name" + i);
    }

    public static void main(String[] args) {
        TestTLAB test = new TestTLAB();
        long start = System.currentTimeMillis();

        for (int i = 0; i <= 1000_0000; i++) {
            test.alloc(i);
        }

        long end = System.currentTimeMillis();
        System.out.println(end - start);
    }
}

Run -> Edit Configurations -> VM options
关闭逃逸分析、标量替换、线程本地分配
输入:-XX:-DoEscapeAnalysis -XX:-EliminateAllocations -XX:-UseTLAB
结论:运行速度明显变慢。

相关文章

  • 逃逸分析、标量替换、线程本地分配

    栈上分配1.线程私有小对象2.无逃逸,就在某段代码中使用3.支持标量替换无需调整 线程本地分配TLAB(Threa...

  • JVM 对象分配过程

    对象分配过程 1)依据逃逸分析,判断是否能栈上分配? 如果可以,使用标量替换方式,把对象分配到VM Stack中。...

  • JVM学习笔记与调优实战(三):Java对象内存分配与逃逸分析

    标签: JVM 1、Java对象的分配: 栈上分配线程私有小对象无逃逸支持标量替换无需调整(虚拟机自动优化,无需调...

  • JIT 编译器(Just In Time Compiler) 如

    1.方法内联 2.逃逸分析 栈上分配标量替换(并不是所有的对象或者数组,都会在堆上分配)同步消除

  • 逃逸分析&栈上分配&标量替换&同步消除

    逃逸分析 逃逸分析分基本行为就是分析对象动态作用域:当一个对象被定义后,它可能被外部方法引用,例如作为调用参数被传...

  • golang的变量内存分配

    逃逸分析 逃逸分析不是直接的优化手段,而是一个代码分析,通过动态分析对象的作用域,为其它优化手段如栈上分配、标量替...

  • JVM 之逃逸分析

    逃逸分析 逃逸分析并不是直接的优化手段,而是一个代码分析,通过动态分析对象的作用域,为其它优化手段如栈上分配、标量...

  • JAVA逃逸分析、栈上分配、标量替换、同步消除

    一、逃逸分析 逃逸分析是编译语言中的一种优化分析,而不是一种优化的手段。通过对象的作用范围的分析,为其他优化手段提...

  • go 逃逸分析

    go 逃逸分析 什么是逃逸分析 逃逸分析决定一个变量是分配在堆上还是分配在栈上 原理 逃逸分析这种“骚操作”把变量...

  • JVM的逃逸分析

    对象一定分配在堆中吗? JVM通过逃逸分析,那些逃不出方法的对象会在栈上分配。 什么是逃逸分析? EscapeAn...

网友评论

      本文标题:逃逸分析、标量替换、线程本地分配

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