10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

关注

评论

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

低代码实现探索(二十八)目录模块文件组织方式

零道云-混合式低代码平台

JDK动态代理

Java

安卓平板体验Java开发,还能白嫖一年阿里无影云,真香!

王磊

原来还能这么干——罗胖2022年《时间的朋友》观后感

看山

1月月更 时间的朋友 你好2022

减少技术债务的系统方法

俞凡

技术管理 大厂实践 技术债务 Zalando

人人都会设计模式:策略模式

看山

算法 设计模式 策略模式 1月月更

关于看板方法,你需要知道的几件事

华为云开发者联盟

敏捷 敏捷开发 软件开发 团队 看板方法

sqoop如何指定pg库的模式

华为云开发者联盟

大数据 hadoop sqoop 数据 PG库

RUST 是 JavaScript 基建的未来

Hugo

在springboot中,如何读取配置文件中的属性

华为云开发者联盟

springboot value 映射 配置文件 RequiredArgsConstructor

微信业务架构图 & 学生管理系统架构设计

阿卷

架构实战营

navie ui/antDesign vue 的按需自动引入

Mr.Cactus

Vite2 vue3.2 antDesign vue naive ui

MySQL最全基础大整理(建议收藏)1️⃣

XiaoLin_Java

1月日更

Go 语言快速入门指南:Go 测试

宇宙之一粟

Go 测试 Go 语言 1月月更

软件架构治理与混沌工程

码猿外

架构设计 混沌工程 软件架构治理

快捷式数据分发在银行反洗钱中的运用

明道云

Spring隐藏了真实的错误,让排查问题变得很难

看山

Mybatis-Plus 1月月更 spring-boot NoClassDefFoundError

这一年很幸运,平平淡淡的|2021 年度总结

看山

年度总结 1月月更

一通百通,带你一次性全理解Spring 中的Template

华为云开发者联盟

spring 设计模式 流程 template 模板模式

[2022]TypeScript 尽量避免的语法[译文]

Hugo

🏆【Alibaba中间件技术系列】「Nacos技术专题」服务注册与发现相关的原理分析

码界西柚

微服务 nacos 注册中心 Alibaba技术 1月日更

21 Prometheus之OpenStack的监控简述

穿过生命散发芬芳

Prometheus 1月月更

一文了解MySQL中的日志redo log、undo log、binlog

Ayue、

MySQL 1月月更

模块七作业

Geek_e6f7f6

架构训练营

用明道云落地高校业务之优秀网站评选

明道云

kube-controller-manager源码分析 目录导航

良凯尔

Kubernetes 源码分析 云原生 #Kubernetes#

招募! IT 技术界的伯乐和千里马

ShowMeBug

技术分享 | 如何让上千容器同时"存活"

ShowMeBug

2022 前端(JavaScript & TypeScript)会有什么新的变化?

Hugo

最好用的 7 款 Vue 3 富文本编辑器

蒋川

Vue 3 富文本编辑器

零代码平台——业务人员的知识变现工具

明道云

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