JVM ——之内存增强分析
我们可以看到这段代码和上面不同的是,StringBuffer这个对象,并没有外部的引用或指向,只是在方法内部构建完成后,返回的是String类型的对象,所以StringBuffer就是未发生逃逸的对象,它就会被分配在栈内存,而不是堆内存中,当然这只是举个例子,并不是实际中的应用。我们需要掌握的是这种思想,当我们编写代码,或者优化代码时,要尽可能的考虑到逃逸问题,因为分配在栈内存中的对象,方法结束后会自动销毁,无需调用GC,可以极大的提高系统的性能。开发中能在方法内部应用对象的,就尽量控制在内部。...