逃逸分析

2019-10-29  本文已影响0人  无痕_Gumj

逃逸分析( Escape Analysis) 是目前Java虚拟机中比较前沿的优化技术, 它与类型继承关系分析一样, 并不是直接优化代码的手段, 而是为其他优化手段提供依据的分析技术。

逃逸分析的基本行为就是分析对象动态作用域: 当一个对象在方法中被定义后, 它可能被外部方法所引用, 例如作为调用参数传递到其他方法中, 称为方法逃逸。 甚至还有可能被外部线程访问到, 譬如赋值给类变量或可以在其他线程中访问的实例变量, 称为线程逃逸

如果能证明一个对象不会逃逸到方法或线程之外, 也就是别的方法或线程无法通过任何途径访问到这个对象, 则可能为这个变量进行一些高效的优化,如下所示:

上一篇 下一篇

猜你喜欢

热点阅读