JVM笔记-16运行时数据区-堆(逃逸分析:代码优化、总结)

guanguans

关注

阅读 46

2022-04-04

学习JVM的一点简单笔记,宋红康老师jvm讲的很好,感谢。

尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机)


逃逸分析:代码优化

避免垃圾回收,提高程序性能。
避免在这里插入图片描述

栈上分配

在这里插入图片描述
在这里插入图片描述

-/+DoEscapeAnalysis 默认开启

关闭逃逸分析
在这里插入图片描述
开启逃逸分析
在这里插入图片描述
运行时间减少,根本不会维护那么多对象。
在这里插入图片描述
在这里插入图片描述
甚至没有发生gc。


同步省略

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
字节码中还是有,运行时才考虑省略。

分离对象/标量替换

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

逃逸分析是在server端开启的
主要还是标量替换,作为优化的手段,逃逸分析完,直接进行栈上分配并没有被采用。逃逸分析,分析后主要还是依赖标量替换。

对象标量替换后,已经不被成为对象,所以才说所有对象实例,在堆上。


在这里插入图片描述

精彩评论(0)

0 0 举报