所以我对Java比较陌生,只读了this非常有趣的关于逃逸分析的维基百科文章。但是,它唯一一次提到使用堆栈分配的时候是对象没有转义方法调用。这似乎有点受限;但话说回来,我想不出任何其他时间我想要一个分配给堆栈的对象。所以我想知道:
1)还有其他时间将对象分配到堆栈是否有意义?
2)有没有办法手动将对象分配给堆栈,而不是堆?
2.5)如果有,那么这样做会更快(对于没有逃避该方法的对象),而不是让逃逸分析必须弄清楚吗?或者有没有办法告诉Java类似“在这种方法中,我需要每个对象都在堆上,不要试图查看是否有任何可以在堆栈上”?
谢谢!
答案 0 :(得分:1)
2.5 ......什么?你为什么要这样优化编译阶段?有什么意义?