逃逸分析
内存逃逸主要是对象的动态作用域的改变而引起的,故而内存逃逸的分析就是分析对象的动态作用域。..."方法逃逸"
简单来说:就是当前方法创建的对象,本该是当前方法的栈帧所管理,却被调用方所使用,可以称之为内存逃逸
下图中,可以看到直接将User对象返回出去,这样这个User对象有可能会被其他地方所改变...,那么就可以直接让这个对象在栈空间分配内存,这样该对象会随着方法的执行完毕自动进行销毁
简单来说:比如说,我上一篇文章有写到,一个方法对应一个栈帧,而我的对象是在当前的栈帧中所管理的,并非逃逸到方法外,...这样就无需在对对象分配空间了,只在栈上为分解出的变量分配内存即可。...由于HotSpot虚拟机目前的实现方法导致栈上分配实现起来比较复杂,所以HotSpot虚拟机中暂时还没有这项优化。