2012-03-16 32 views

回答

2

整理。尾遞歸方法可以很容易地轉換爲循環。否則,JITC可能會將幾個電話內聯爲一種「展開」。

雖然取決於月相和星期幾,但許多不同的因素會影響JITC的決定。

+0

但是,如果它們轉換爲循環,不會丟失每個堆棧幀的局部變量值嗎?或者JITC也照顧這一點嗎? – shrini1000 2012-03-16 12:35:13

+0

如果它不能保證有相同的結果(包括副作用),那麼JITter不能這樣做。但是沒有任何說明可以在優化時引入額外的臨時變量。 – 2012-03-16 12:38:17

+3

事實上,Java JIT Compilers **不能將尾調用轉換爲循環。 – 2012-03-16 12:38:57