写点什么

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

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

关注

评论

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

软件测试学习笔记丨JUnit5重复测试

测试人

软件测试

基于Vue+thinkPhP6前后端分离的多客陪玩管理系统100%原生源码/技术培训/运维协助/开发文档齐全/官方终身授权/全球搭建部署/支持二次开发

DUOKE七七

深度解析:利用1688 API获取商品详情的全面指南

Noah

完美解决 WebSocket 连接失败的技巧

Liam

程序员 后端 websocket

GitHub星标破千Star!Python游戏编程的初学者指南

我再BUG界嘎嘎乱杀

Python 入门 开发语言 零基础 游戏编程

在 Go 语言中如何让结构体不可比较?

伤感汤姆布利柏

GPT-4o差点没及格!首个多任务长视频评测基准,它有亿点难

Openlab_cosmoplat

ChatGPT GPT-4 人工智能、

解读MySQL 8.0数据字典的初始化与启动

不在线第一只蜗牛

MySQL 数据字典

python中对于wordcloud词云生成报错提示的解决

我再BUG界嘎嘎乱杀

Python wordcloud 词云

惊艳!老司机熬夜总结的Python高性能编程,高效、稳定、快速!

我再BUG界嘎嘎乱杀

Python 后端 高性能 开发语言

AI Agent 开发者对话:科研和商业化落地

奇绩创坛

人工智能 创业 AI 大模型 agent

突破Web3红海,DePIN如何构建创新生态系统?

TechubNews

web3、

HDC 2024 | 华为云云原生开源+OpenHarmony,加速开发者应用创新

华为云开源

开发者 云原生 华为开发者大会 华为云开源

制造业包括哪些?需要堡垒机吗?

行云管家

网络安全 信息安全 堡垒机 制造业

NineData和华为云在一起!

NineData

数据库 DevOps 华为云 NineData GuassDB

2024 Intersolar Europe,这家中国能源新秀再次瞩目!

科技汇

交互式原型设计神器:Axure RP 9 for Mac/win版中文激活版

你的猪会飞吗

mac软件下载 苹果软件下载

软件测试学习笔记丨JUnit5标记测试用例

测试人

软件测试 测试开发

草莓不是莓,西瓜才是莓——解读 Kubernetes 中被驱逐的 Pod

小猿姐

Kubernetes 云原生

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