在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

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

关注

评论

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

模块1-作业

笑看风雨情

疫情下的人生百态

6979阿强

图计算 GraphScope 新冠

程序员应该专注技术还是转管理?

石云升

职业规划 职场经验 8月日更

webrtc 即时带宽评估器(BitrateEstimator)

webrtc developer

WebRTC

新时代大视频产业的底座,视频云创变了什么?

阿里云CloudImagine

阿里云 直播技术 视频制作 视频流 视频云

算法毕业总结

Geek_Gu

netty系列之:自建客户端和HTTP服务器交互

程序那些事

Java Netty 程序那些事

不用手机,如何让猫给你打视频电话丨日常小技

RTE开发者社区

物联网 目标检测 目标跟踪

读书笔记 -《数据密集型应用系统设计》- 数据编码

KayTin

SharingSphere 源码解析 -- 真实SQL生成探索

数据库 源码

中证协组织专题座谈会,加快推进区块链技术在证券行业应用

CECBC

ipfs矿机是什么?ipfs矿机挖出的币能交易吗?

区块链 分布式存储 ipfs挖矿 ipfs矿机 filecoin挖矿

区块链盲盒游戏app软件开发|盲盒游戏软件介绍

量化系统19942438797

区块链 智能合约 盲盒

百分点大数据技术团队:BI嵌入式分析实践

百分点科技技术团队

BI 百分点科技 嵌入式分析

百分点感知智能实验室:语音识别技术发展阶段探究

百分点科技技术团队

语音识别 百分点科技 感知智能

数字化时代商业银行客户触达策略研究 从数据到服务 由场景到生态

CECBC

Google官方bazel构建工具的安装

Changing Lin

8月日更

架构设计-模块一

逝水流

架构

我遇到的那些工长

escray

生活记录 8月日更

跨越AI天堑时:行动代号“盘古大模型”

脑极体

AlphaFold2“登陆”北鲲云平台,云计算助力科研大放异彩

北鲲云

快手平台严管售卖“仿黄金类饰品”,直播带货在收割消费者

石头IT视角

分享 10 个高星的创意项目!

程序员鱼皮

Java Python 数据库 大前端 Go 语言

融云 X-Live 系列直播启动,遇见通信的无限可能

融云 RongCloud

开发者 音视频 通信 融云 即时通信

细思极恐!Alibaba新产SpringBoot深度历险(嵩山版)开源

Java 编程 架构 面试 架构师

网络攻防学习笔记 Day122

穿过生命散发芬芳

网络安全 8月日更

架构实战营模块1作业

^_^

架构实战营

区块链技术发展趋势与银行业探索实践

CECBC

Linux之last命令

入门小站

Linux

Tapdata Cloud 版本上新!率先支持数据校验、类型映射等6大新功能

tapdata

MySQL nosql schema

GitHub获120w+star的JDK源码剖析手册,竟出自Alibaba高管之手?

Java 架构 面试 程序人生 Alibaba

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