美文网首页
阅读《JVM 通过「逃逸分析」就能让对象在「栈上分配」》

阅读《JVM 通过「逃逸分析」就能让对象在「栈上分配」》

作者: 普通的程序员 | 来源:发表于2021-02-17 10:57 被阅读0次

    原文地址
    https://mp.weixin.qq.com/s/FYNGIxdZZmOEjHwSWxsv1A

    image.png

    1、全局逃逸(GlobalEscape)
    即一个对象的作用范围,逃出了当前方法或者当前线程,有以下几种场景:

    对象是一个静态变量;
    对象作为当前方法的返回值;
    如果复写了类的 finalize 方法,则此类的实例对象都是全局逃逸状态(因此为了提高性能,除非万不得已,不要轻易复写 finalize 方法);
    2、参数逃逸(ArgEscape)
    即一个对象,被作为方法参数传递,或者被参数引用,但在调用过程中,不会再被其它方法或者线程访问。

    3、没有逃逸(NoEscape)
    即方法中的对象,没有发生逃逸,这种对象会被 Java 即时编译器进一步的优化。

    我阅读后的重点在:
    这个参数可以提升执行效率

    相关文章

      网友评论

          本文标题:阅读《JVM 通过「逃逸分析」就能让对象在「栈上分配」》

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