Booster 4.5.3 版本发布

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

  1. Fix issue #284 - compressing processed resource file

阅读全文

Booster 4.5.1 版本发布

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

  1. Fix issue #280 - thread renaming for ScheduledThreadPoolExecutor

阅读全文

Booster Collector API

Booster 之所以保持着高性能,除了并行 I/O 以外,还有一个很重要的方面 —— 单次 I/O。可能有人会问,什么叫单次 I/O?所谓单次 I/O 是指,在 Transform 的过程中,对于每一个输入 (JAR/DIR) ,Booster 只需要一次读和一次写,便可以实现整个 app 的字节码以流水线的方式进行处理,也就是 Bytecode Transform Pipeline。这就意味着,每个 Transformer 只有一次机会来处理 class ,但如果想要在 Transformer 先收集一些信息,再在 Transform 的过程中将这些收集到的信息,以字节码的方式写入到某个 class 中,就不太容易实现。一个典型的例子便是 SPI 优化,虽然 R8 可以对 SPI 进行化,但是,对写代码的姿势有一定的要求。

阅读全文

Booster 4.4.0 版本发布

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

  1. 支持对增量编译的 transform 输入进行强制更新

阅读全文

Zero to One - Importance of Mobile App Monitoring

Stability is one of the three most important metrics for Coupang apps in providing a Wow customer experience. The mobile app monitoring platform aims to provide a reliable, easy-to-use, high extensibility monitoring platform for Coupang family apps. The platform supports not only mobile apps but web apps. The platform is based on the Lumberjack logging system and supports high-performance real-time stack trace de-obfuscation and symbolication within a few milliseconds (the industry standard is in hours). Thus, it is able to detect the issue within 3 mins and identify the root cause within 2 mins. Its high extensibility allows us to build more QoE/QoS metrics.

阅读全文

Booster 4.3.0 版本发布

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

  1. 支持在本地单元测试环境中运行 Transformer,并同时支持 ASMJavassist

阅读全文

第一个 UI 控件

尽管我使用 Java 编程已有十年有余,但其实 JavaScript 才是我最早掌握的一门编程语言,虽然 C 语言是大学生的必修课,但我真不敢说在当时我已经掌握了它,在 Web 2.0 的时代,最流行的开发工具便是网页三剑客,Dreamwaver 的所见即所得让很多初学者也能写出一个可以运行的 Web 应用,我便是其中一个。

阅读全文

可测试应用架构设计(二)

可测试应用架构设计(一)中有介绍过 Booster 是如何解决 Transformer 在本地单元测试环境和编译环境中的复用问题,在本节中,我们来一起探索如何利用 Booster 提供的 TransformerClassLoader 来解决应用架构的可测试性问题。

阅读全文

Booster 4.2.0 版本发布

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

  1. 增加对运行时字节码注入的支持,开发者可以使用 Booster 提供的 TransformerClassLoader 实用类在运行时自动发现 Transformer 并进行字节码注入,使 Transformer 能够完全复用

阅读全文

可测试应用架构设计(一)

自从字节码操作技术在移动端普及之后,各种 app 的架构中都采用了这一技术,最典型的例子便是采用 Service Locator 模式实现的 IoC 框架,这类框架都有着相同的实现思路,挫一点的则是通过反射来实例化对象,好一点的会用 apt 来生成 Factory 代码来解决实例化的问题,但都会存在一个问题,就是需要一个静态的映射(注册表)来解决根据接口查找实现的问题,而这个静态的映射(注册表)一般都是通过字节码操作技术在编译期间自动生成。

阅读全文