Java 类型系统的 BUG

最近看到一道比较有意思的 Java 面试题,在这里给大家分享一下,题目如下:

1
2
3
4
String[] a = new String[2];
Object[] b = a;
a[0] = "hello";
b[1] = Integer.valueOf(0);

阅读全文

Booster v1.6.0 发布

Booster 又双叒叕发布了新的版本—— v1.6.0,本次更新内容如下:

  1. 修复 ScheduledThreadPoolExecutor 的优化问题 #154

阅读全文

Java 8 Lambda 之殇

前段时间为 booster-task-analyser 做性能优化,不禁开始怀念 Java ,于是乎,又尝试用 Java 写点东西,但总是感觉很不爽,尤其是在 lambda 表达式中 try-catch ,太烦人了,本来就一行代码的事情,硬生生写成 6 行(效率就是被这么给降下来的),我当时就想,能不能让 Java 8lambda 写起来更爽一点?

阅读全文

不懂 Kotlin Coroutines ?

还记得在 jQuery 还没有诞生的年代,我在大学宿舍用一个通宵撸出了 Tree 组件,足足令我兴奋了一整天,自此之后,感觉自己已经深得 JavaScript 之精髓,工作多年后,因为项目的缘故,又重拾 JavaScript 发现 Node.js 竟然如此让人着迷,就好像一把尘封了多年的利剑再现峰芒,一周的时间便撸了一个前端插件化框架,尽管是在 require.js 流行的年代,但 require.js 依然无法解决按依赖顺序动态加载插件模块的问题(因为模块中不仅仅只有 js 代码,还有 cssjson 等资源),没办法,只好自己动手造轮子了(要是那时候有 webpack 该多好啊)。

阅读全文

我在滴滴做架构(目录)

阅读全文

重新认识 Kotlin

大约在两年前,那时候的 Booster 还没有计划开源,第一版也并不是用 Kotlin 写的,而是 Java 8 ,之所以用 Kotlin 重写 Booster 并不是因为 Java 8 不好,虽然 Java 8 也有它的问题,但最初的动机,除了完善原有设计上的缺陷外,更主要是为了更好的掌握 Kotlin 这门语言。

阅读全文

Booster 静态分析

最近一直在优化 booster-task-analyser ,一方面是功能特性的完善,另一方面是性能的优化,在此之前,静态分析的工作是由 booster-transform-lint 完成的,虽然已经很早就开源了这个模块,但是对静态分析的结果一直不是很满意,加上其它一些方面的考虑,索性重写一个,所以就有了 booster-task-analyser,用来替代 booster-transform-lint

阅读全文

Booster v1.5.0 发布

经过不懈的努力,Booster 又双叒叕发布了新的版本—— v1.5.0,本次更新内容如下:

  1. 修复 AGP 3.6.0 兼容性问题 #145

阅读全文

Flutter 混合开发架构

自 2019 年的 GDD 之后,Flutter 成为了移动端的一颗耀眼的新星,由于其独特的设计,在性能和开发体验上远超 React NativeWeex 等一些跨端开发框架,然而,从现有的原生技术栈切到 Flutter 是有一定的成本的,所以,不太可能推翻原有的原生架构,都会先拿非核心业务来试试水。

阅读全文

Booster v1.4.0 发布

Booster 又双叒叕发布了新的版本—— v1.4.0,本次更新内容如下:

  1. 优化 transform 流程,支持 Build Cache

阅读全文