50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

CTO 说了,用错 @Autowired 和

爱好编程进阶

Java 程序员 后端开发

Day200

爱好编程进阶

Java 程序员 后端开发

Alibaba最新出版的JDK源码剖析手册(究极奥义版)开源

Java架构追梦

jdk java面试 后端开发

IDEA的Docker插件实战(Dockerfile篇)

爱好编程进阶

Java 程序员 后端开发

java 通过 SmbFile 类操作共享文件夹

爱好编程进阶

程序员 后端开发

2022金蝶云苍穹峰会抢先看

金蝶云·苍穹

苍穹峰会 苍穹5.0 人力云

Java StringBuffer 动态字符串

爱好编程进阶

程序员 后端开发

上市商业银行手机银行场景建设专题分析

易观分析

商业银行 手机银行

Java 类型信息详解和反射机制

爱好编程进阶

Java 程序员 后端开发

真可笑!拿着这份JVM学习笔记学了2个月,就想着出去跳槽涨10k

Java架构追梦

Java 程序员 后端开发

EL和JSTL基本使用

爱好编程进阶

Java 程序员 后端开发

FastDFS 和nginx整合

爱好编程进阶

Java 程序员 后端开发

【INFOCOM 2022】支持任意网络拓扑的同步流水线并行训练算法,有效减少大规模神经网络的训练时间

阿里云大数据AI技术

神经网络 机器学习 算法 并行训练算法

中小型企业团队的CRM系统最佳实践

低代码小观

低代码 CRM 客户关系管理 CRM系统 客户关系管理系统

OneFlow如何做静态图的算子对齐任务

OneFlow

人工智能 graph 自动测试 算子对齐

2022年4月国产数据库大事记

墨天轮

数据库 opengauss TiDB 国产数据库 达梦

CRUD勿进,全身心投入才能读懂腾讯P8亲码的“Java微服务

爱好编程进阶

Java 程序员 后端开发

刷了三个月leetcode算法,顺利拿下百度、阿里等大厂的offer

Java架构追梦

Java 后端开发 数据与算法

GroupingComparator分组

爱好编程进阶

Java 程序员 后端开发

AliIAC 智能音频编解码器:在有限带宽条件下带来更高质量的音频通话体验

阿里云CloudImagine

语音 音频 视频云 音频编码器

ETL自动化运维调度管理工具 TASKCTL 流程文件系统

敏捷调度TASKCTL

程序员 DevOps 运维 ETL 大数据运维

Stack 顿悟三部曲(2):穿越虚拟内存的迷雾

蓬蒿

线程 cpu 堆栈 进程

Go流程控制——条件语句

爱好编程进阶

Java 程序员 后端开发

造孽啊!阿里内部的神级项目和JDK源码阅读指南竟惨遭GitHub开源

Java架构追梦

Java 程序员 后端开发

惨遭面试官吊打高并发系统设计,回来学习2400小时后成功复仇

Java架构追梦

Java 后端开发 程序员面试

GNN在下拉推荐的应用

爱好编程进阶

Java 程序员 后端开发

Stack 顿悟三部曲(3):溯源 goroutine 堆栈

蓬蒿

golang 堆栈 协程 stack goroutine

java poi 读取Excel中的手机号或电话号码,手机号变成1

爱好编程进阶

程序员 后端开发

4月份,我月更了 25 篇文章,撸了 4w 多字

杨成功

程序员 数据结构 前端

Java面试前的敲门砖:多线程+微服务spring源码+Redis+docker+Git

Java架构追梦

Java 后端开发 程序员面试

Java 生成随机数的 5 种方式,你知道几种?

爱好编程进阶

Java 程序员 后端开发

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