JVM逃逸分析

JDK1.8默认开启逃逸分析,这是一种代码分析手段,能动态分析对象的作用域,为其它优化手段如栈上分配、标量替换和同步消除等提供依据。

一共可能有两种逃逸行为:方法逃逸和线程逃逸。

  • 方法逃逸:当一个对象在方法中定义之后,作为参数传递到其它方法中;
  • 线程逃逸:如类变量或实例变量,可能被其它线程访问到;

如果确认不存在逃逸行为,则可以对该对象进行如下优化:同步消除、标量替换和栈上分配。

 

参考:https://www.jianshu.com/p/20bd2e9b1f03

posted on 2019-04-06 12:03  植物大戰僵尸  阅读(225)  评论(2编辑  收藏  举报

导航