- 栈上分配,这个地方打破了对象仅能存在于堆上的固有看法。栈上分配具体指的是,当一个对象在栈中进行创建的时候,这个对象没有被当前栈外的地方进行引用,则这个对象就会创建在栈中,不占用堆内存的空间。术语称作逃逸分析。
- 同步省略,当在一个方法中,这个加锁的过程根本不可能出现并发阻塞的现象的时候,则编译器会自动把这个锁消除,亦称为锁消除,举例代码如下
public void test() {
synchronized(new OOO("SS")) {
boolean var2 = true;
}
}
3.标量替换,当经过逃逸分析以后,某个对象并没有逃离出当前的这个栈帧所处的空间时。这个对象的属性就会被拆解成n个基础类型。