3
A
回答
1
順序實際上並不重要,因爲VM和編譯器可以以同樣簡單的方式實現。但是Sun選擇在棧上顯示較低的參數。
你可以看到這不僅與putfield
,但與許多其他指令,如數組加載和存儲和方法調用。他們都遵守相同的慣例。我能想到的唯一解釋是這種方式更直觀。
如果您從左到右從底部到頂部讀出堆棧,則堆棧中的參數將具有與方法簽名或原始源代碼中的參數相同的順序。如果你想以另一種方式來實現,程序員必須在心理上將堆棧視爲反轉,這不是什麼大問題,但可能不那麼直觀。
相關問題
- 1. MethodInfo.Invoke參數順序
- 2. 函數參數的順序
- 3. 參數到HMAC的順序?
- 4. unittest.TestCase.assertEqual的參數順序
- 5. 參數比較順序
- 6. C++參數評價順序
- 7. String.Format參數順序煩擾
- 8. findall忽略順序參數?
- 9. 確定DOM順序確定表單參數的順序嗎?
- 10. ANTLR以任何順序命名函數參數/參數
- 11. 參數按名稱或按順序?
- 12. 移動語義&參數評價順序
- 13. 限制R JAGS中的參數順序
- 14. 混淆F#List.nth的參數順序
- 15. 按順序指定可選參數
- 16. jQuery的委託參數順序
- 17. C#Oracle存儲過程參數順序
- 18. Java三元運算符 - 參數順序
- 19. WCF方法的參數順序
- 20. Unix命令參數和選項順序
- 21. 什麼是參數推送順序
- 22. Mod重寫,設置參數順序?
- 23. 參數順序和@XmlType(propOrder)和Resteasy jackson
- 24. 默認參數和非默認參數的順序
- 25. 命名可選參數和多個參數順序
- 26. PHP | MySQLi準備的語句 - 處理順序和順序類型參數
- 27. 當函數參數的順序錯誤時的函數組合
- 28. Postgresql - 9.1 IN參數改變了排序順序
- 29. 函數參數中的預增和後增的操作順序?
- 30. 關於函數中參數順序的約定
你看到任何理由爲什麼它應該是另一種方式? – 2013-04-05 07:14:43
@BrunoReis自從putfield知道要存儲的值的大小,只要它以一致的方式完成,哪個參數在哪個位置應該無關緊要?我認爲這就像調用集會的約定,但我並不完全確定答案。爲什麼一種方法比另一種更安全? – 2013-04-05 07:17:14
在我看來,這必須用AST字節碼的構造和遍歷方式來完成。不確定。我只是在黑暗中拍攝。 – vijay 2013-04-05 07:19:16