写点什么

视频:Bruce Johnson 谈 Google Web Toolkit

  • 2008-03-06
  • 本文字数:712 字

    阅读完需:约 2 分钟

Google Web Toolkit (GWT) 的技术领导 Bruce Johnson 谈论了关于 GWT 的整体设计,GWT 如何将 Java 转换成 Javascript,与 GWT 相关的社团, GWT 1.4 版本中的新性能,以及 GWT 背后的哲学等话题。

我猜想人们的第一印象也许会是:“这是个某种意义上的翻译器”。在看到表层之下它究竟如何工作以后,他们会发现这样的印象就有点小觑了这项技术。他们设想我们只是以某种方式盲目地将一个特定的 Java 结构翻译成 JavaScript,以致于会产生冗余代码等一些问题。实际上,我们采用一种更计算机科学、更强有力的方式,那就是,我们将所有的 Java 源码聚合做语法解析,在此基础上再做优化处理。我们有目的地禁止反射机制和动态类加载。这样做的好处在于,在知道所有源码都可以通过编译器进行分析的前提下,你可以对程序作整体优化。反射机制会影响完全静态分析的实现,因为在运行时之前,你永远都没有办法知道会发生什么。但如果你剃掉了这个因素,你可以编译一个巨大的 Java 源码库,并且如果你将整个源码库作为一个整体编译,你甚至可以分析每一处调用,每一个方法的具体实现。你可以鉴别出那些看似多态性实际上却不是的部分,我们将它们称为“type tightening”。一旦作了 type tightening,其实就已经消除了多态机制,并且一旦重写调用点并将多态分派翻译至静态分派,你就可以内联源码,这样做允许你迭代另外的优化处理。所以说它是真真实实的编译器,我刚才提到的优化实在只是冰山一角,在未来我们将可以做更多更酷的优化。GWT 使用者得到的好处是,他们所需要做的只是升级 GWT 版本,重新编译而已,他们将在文件大小或速度或两者同时获得巨益。比如在即将发布的 GWT1.4 中,一个简单的重编译可以将文件大小减小 20% 并能够更快地启动。

2008-03-06 10:011108
用户头像

发布了 71 篇内容, 共 23.9 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营学习总结——第一周

文智

极客大学架构师训练营

第一周学习总结

架构师训练营第1期 第1周 作业1

KK_TTN

极客大学架构师训练营

采用docker相关测试

菜鸟小sailor 🐕

食堂就餐卡系统设计

应鹏

极客大学架构师训练营

第一周学习总结

Geek_ac4080

架构师训练营大作业一同城快递

Hanson

重新理解“软件工程”

Bruce Talk

软件工程

第一周作业

week01系统设计

xxx

oeasy 教您玩转 linux 之 010302 火狐浏览器 firefox

o

架构师训练营第 1 期 - 第一周学习总结

Anyou Liu

Nacos如何实现服务自动注册

编号94530

spring nacos 源码阅读 spring cloud alibaba

第五周作业

Jam

第十三周作业

Jam

网络安全中的机器学习-恶意软件安装

计算机与AI

学习 网络安全

架构师训练营大作业

吴吴

只要我跑的够快,内卷它就卷不到我,一名高中生是如何做到在疫情下涨薪70%的?

程序员DMZ

面试 程序人生

第六周作业

Jam

UML 练习

黄立

作业

架构方法--课后练习

Nick~毓

架构师训练营第一周作业

吴传禹

极客大学架构师训练营

架构师训练营:第一周学习总结

xs-geek

架构师训练营第 1 期 第一周 学习总结

KK_TTN

极客大学架构师训练营

第三周总结

Jam

第四周

Jam

go runtime debug 小技巧

Gopher指北

debug 后端 runtime Go 语言

架构师训练营第一周学习感悟

吴传禹

极客大学架构师训练营

第三周作业

Jam

第十二周作业

Jam

Spring事件执行流程源码分析

编号94530

spring Spring Cloud 源码阅读 事件监听

视频:Bruce Johnson谈Google Web Toolkit_Java_Ryan Slobojan_InfoQ精选文章