繁体   English   中英

GWT运行时Java仿真

[英]GWT runtime Java emulation

我对GWT实现JRE库仿真技术很感兴趣。

GWT如何模拟Java库?

如何有效地在JavaScript中实现HashMap? 它是用纯JavaScript实现的,还是用在代码中作为Java源代码编译的?

我了解gwt-dev库中存在一些用于开发(托管)模式的实现。 生产代码是否使用相同的实现?

您可以在此处检查什么是模拟的JRE库。 对于大多数人,GWT将使用JavaScript对应版本,但是在某些情况下,GWT将拥有自己的JavaScript实现版本。

在HashMaps的情况下,由于内置JavaScript版本仅提供String-> value映射,因此GWT将使用它自己的实现,该实现将支持Object-> Object映射。 您可以在此处找到更多详细信息。

另外,要了解生产(已编译)和开发模式(调试)之间的区别,可以查看“ 编译和调试”部分。

您可以在线浏览代码,例如HashMap ,或更有趣的是AbstractHashMap 如您所见,有一些JSNI方法(带有native关键字和/*-{ ... }-*/语法的方法)。 但是,仿真代码中的许多方法都是基于JSNI方法构建的:它们被编写为“高级” Java方法。

该仿真代码实际上就像您编写自己的代码一样,只是GWT代码(但从统计角度上讲,JSNI代码的百分比当然更高)。 并且它使用<super-source>机制:这样,与开发模式相比,同一类的客户端代码在生产模式下可能会有所不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM