簡體   English   中英

JavaScript對象的大小是否受到(GWT)基類中方法數量的影響?

[英]Is the size of a JavaScript object affected by the number of methods in the (GWT) base-class?

我目前正在設計一些最終將在GWT中使用的API,並且我想知道在使用GWT編譯Java代碼之后,Java類中方法的數量是否會影響JavaScript中單個Object實例的大小。

換句話說,如果我有一個包含200個方法的抽象基類,然后覆蓋其中2個方法的子類,那么將為應用程序支付這200個方法的“成本”(內存使用)一次,還是為每個方法支付一次子類實例

在Java中,方法的數量不會影響Object的大小,但是我不知道這在JavaScript中是如何工作的。

“ 200”數字來自於嘗試解決GWT中缺少“反射”的問題,但是即使有辦法獲得“假反射”,我仍然會對答案感興趣。

對於此類問題,Stackoverflow上沒有比您自己的實驗更好的答案:

編寫一個包含200個方法的類,然后編寫一個對其進行子類化並覆蓋2個方法的類。 比較JS代碼大小以獲得基本概念(盡管這與實例大小不同)。 使用編譯報告可以更好地理解。 然后嘗試使用樣式PRETTY或Detailed進行編譯,在編輯器中打開結果,並驗證生成的代碼是否重用方法。 (可以肯定的是,也可以在混淆模式下嘗試)。

或者,實例化許多對象,並檢查內存使用情況(多個瀏覽器提供工具,例如https://developers.google.com/chrome-developer-tools/docs/javascript-memory-profiling

通常,請確保您的方法確實得到了調用-否則,編譯器將對其進行優化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM