Java 中逃逸分析

// jdk1.7 默认开启逃逸分析
// 此方法会进行逃逸分析
// -XX:+DoEscapeAnalysis  开启逃逸分析
// -XX:-DoEscapeAnalysis  关闭逃逸分析
// 创建出来的Object对象存在堆中不一定是10000个 还有可能有一部分存在线程栈中
public
class ObjectEscape { public static void main(String[] args) { for(int i=0; i < 10000; i++){ test(); } } private static void test(){ Object object = new Object(); } }
// 默认开启逃逸分析 单此方法 不会进行逃逸  因为有返回的话 默认认为有其它线程调用
public
class ObjectEscape { public static void main(String[] args) { for(int i=0; i < 10000; i++){ test(); } } private static Object test(){ Object object = new Object(); return object; } }

 

posted @ 2020-05-17 21:25  TT007  阅读(271)  评论(0)    收藏  举报