以下Java示例是否會在任何JVM中創建堆分配(p.position.x
和p.position.y
是浮動)?基元類型之間是否可以導致堆分配?
p.position.x = (float)(Math.cos(radians) * 30) + x;
p.position.y = (float)(Math.sin(radians) * 30) + y;
而且同樣具有以下隱例如:
float tempX = 0;
float tempY = 0;
tempX += (Math.cos(p.currentOrbitDegrees) * 30) + x;
p.position.x = tempX;
tempY += (Math.sin(p.currentOrbitDegrees) * 30) + y;
p.position.y = tempY;
此外,將一個方法可能比在所有的JVM其他更快嗎?
「堆分配」否「一種方法可能會比另一種快」否。如果有,編譯器會優化它。 – Michael
東西告訴我堆分配錯誤來自你的代碼中的其他地方 –
@Michael你應該把它作爲這個問題的答案。 –