写点什么

视频: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:011119
用户头像

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

关注

评论

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

双十二好物推荐:「mPaaS 安全加固」带你看看别人家的应用

蚂蚁集团移动开发平台 mPaaS

安全 mPaaS 应用

架构探索:事务处理总结

Dark

shell脚本的使用该熟练起来了,你说呢?(篇四)

良知犹存

shell脚本编写

第八周课后练习

jizhi7

区块链技术在旅游业中的应用探索

CECBC

旅游

年轻程序员不讲武德,做表竟然拖拉拽

雯雯写代码

程序员

排查指南 | 关于 mPaaS-iOS 小程序打不开问题的解决方案

蚂蚁集团移动开发平台 mPaaS

小程序 mPaaS

第八周-总结

jizhi7

ISP芯片:如何让数字之眼“看清”真实世界?

脑极体

以太公约系统开发详情丨以太公约源码案例

系统开发咨询1357O98O718

以太公约系统开发介绍

Python进阶——什么是描述符?

Kaito

Python

Java虚拟机科普系列—元空间Metaspace的内存结构

Java老k

Java JVM Java虚拟机 metaspace

GaussDB(DWS)磁盘维护:vacuum full执行慢怎么办?

华为云开发者联盟

数据库 数据 DWS

mongodb 源码实现系列 - mongodb详细表级操作及详细时延统计实现原理(快速定位表级时延抖动)

gmoy-tencent

数据库 mongodb 性能调优 源码刨析 分布式数据库mongodb

学习笔记4

Qx

访问者模式及其在Java Parser中的应用

maijun

API研发效能提升实战

Geek_40a463

研发效能 API研发

阿里P8大佬带你全面了解—MySQL锁:03.InnoDB行锁

比伯

Java MySQL 编程 架构 程序人生

无可限量的数字经济

CECBC

数字经济

Spring Boot 过滤器

噜噜猫

Spring Boot

金融科技 | 建设中台能力,助力开放生态

xcbeyond

金融科技 中台战略 中台架构

架构之书:传道与《设计模式》

lidaobing

架构 设计模式

你心目中高级程序员的印象是什么样子的?

Java架构师迁哥

Java并发编程:任务执行器Executor接口

李尚智

Java并发

记一次神奇的MySQL死锁

废材姑娘

spring MySQ

甲方日常 67

句子

工作 随笔杂谈 日常

架构探索:事务处理二

Dark

架构探索:事务处理三

Dark

Python最会变魔术的魔术方法,我觉得是它!

Python猫

跨越“数字鸿沟”,日本老年智能化服务的解法

脑极体

还在手写Operator?是时候使用Kubebuilder了

Java架构师迁哥

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