繁体   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