写点什么

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

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

关注

评论

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

java培训机构 | Java设计模式之适配器模式

@零度

设计模式 JAVA开发

企业官网如何提高客户转化率

源字节1号

NFT交易平台数字藏品系统开发技术

薇電13242772558

NFT 数字藏品

得物技术复杂 C 端项目的重构实践

得物技术

前端 大前端 重构 框架 社区

天翼云数字政府智慧数据中台通过认证

天翼云开发者社区

DingOS服务提交IPO配置指南

鼎道智联

前端 开发 IPO配置

今天,SysAK 是如何实现业务抖动监控及诊断?&手把手带你体验Anolis OS|第25-26期

OpenAnolis小助手

Linux sig 龙蜥大讲堂 开源贡献 社区运维

CAT敏捷团队教练工作坊 (Coaching Agile Teams) | 8月20日开课

ShineScrum

教练 敏捷教练 高管教练 专业教练 ACC

社区文章|MOSN 构建 Subset 优化思路分享

SOFAStack

负载均衡 开源 开发者 算法

PHP开发的网站,如何实现批量打印快递单的功能?

迷彩

编程 记录 开发 php扩展 6月月更

TiFlash 函数下推必知必会丨十分钟成为 TiFlash Contributor

PingCAP

#TiDB

Java——I/O II

武师叔

6月月更

MAUI使用Masa blazor组件库

沙漠尽头的狼

大数据培训 | 电商用户行为分析之商业指标统计分析

@零度

大数据开发

【直播回顾】战码先锋第六期:共建测试子系统,赋能开发者提高代码质量

OpenHarmony开发者

OpenHarmony

美团基于 Flink 的实时数仓平台建设新进展

Apache Flink

大数据 flink 流计算 实时计算 实时数仓

【OpenI开源项目推荐-GammaGL】支持国内外主流深度学习框架的图神经网络算法库

OpenI启智社区

人工智能 算法 图神经网络

重磅直播|BizDevOps:数字化转型浪潮下的技术破局之路

阿里云云效

阿里云 DevOps 研发效能 BizDevOps 场数字化转型

智能合约dapp系统开发模式定制方案

开发微hkkf5566

DevSecOps: CI/CD 流水线安全的最佳实践

SEAL安全

CI/CD DevSecOps

云上人和物联科技加入龙蜥社区,携手打造软硬件服务生态

OpenAnolis小助手

开源 生态 龙蜥社区 CLA 云上人和物联科技

SAP Marketing Cloud 功能概述(二)

汪子熙

云计算 SaaS SAP 6月月更 Marketing Cloud

本周四晚19:00战码先锋第7期直播丨三方应用开发者如何为开源做贡献

OpenHarmony开发者

OpenHarmony

社恐?自我介绍时大脑一片空白?

阿Q说代码

个人成长 社恐 职场破冰 入职公司

初识ElasticSearch

阿Q说代码

搜索引擎 lucene ES 选举 脑裂

北京大数据培训 | 电商用户行为分析之实时流量统计

@零度

大数据开发

Java——流输入输出

武师叔

6月月更

深圳java培训 | Java设计模式之建造者模式

@零度

设计模式 JAVA开发

攻防演练 | 基于ATT&CK的威胁狩猎实践案例

青藤云安全

网络安全 攻防演练 威胁狩猎

天翼云探索云原生、边缘计算融合新思路

天翼云开发者社区

2022年盲盒软件开发商业模式深度解析

开源直播系统源码

软件开发 盲盒开发 盲盒软件

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