程序员社区

(JVM面试题) 什么是逃逸分析?

分析对象动态作用域

  • 当一个对象在方法里面被定义后,它可能被外部方法所引用,例如作为调用参数传递到其他方法中,这种称为方法逃逸;
  • 被外部线程访问到,譬如赋值给可以在其他线程中访问的实例变量,这种称为线程逃逸;
  • 从不逃逸

如果能证明一个对象不会逃逸到方法或线程之外,或者逃逸程度比较低(只逃逸出方法而不会逃逸出线程),则可能为这个对象实例采取不同程度的优化,如栈上分配、标量替换、同步消除。

赞(0) 打赏
未经允许不得转载:IDEA激活码 » (JVM面试题) 什么是逃逸分析?

一个分享Java & Python知识的社区