簡體   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