如果一个对象被多个线程或方法使用,那么这个对象的指针就发生了逃逸。 逃逸分析可以减轻 Java 的同步负载和内存堆分配压力的全局数据流分析算法。 分析一个对象的使用范围决定是否要把它分配在堆上,如果一个对象未发生逃逸,则直接分配在栈上。 -XX:+DoEscapeAnalysis开启逃逸分析。 Java 逃逸分析