ASM 和 JVM 关联知识

背景 最近做日志治理(其实也没啥治理的),发现日志存活时间很短,因为各个业务方的日志汇总在一个实例里,有任何无用日志频繁打印,都会把日志覆盖掉

LearnJVM 有趣的发现

为了兑现自己立下的 flag 🤣,这两天刚好假期前,继续实现 JVM 打算定个小目标:每个月更新一次 LearnJVM 这个项目 第五章的指令好多好多,所以还在不断地 copy & paste 实现的

LearnJVM 重启

虽然今天是愚人节,但是还是要立下 flag,重启 JVM 项目 之前,一方面想学习 rust,一方面也想更深入的理解 JVM,于是这么一个项目就诞生了 源码来

maven publish dependency

​今天 pull 工程,发现有个库的源码看不到,在 gradle external libraries 中也找不到,只能找到一个 api 接口层的代码 于是,就研究了一下原因 pom 文件 我们在向 maven 发布 aar 时,会生成对

Kotlin/Native

最近 KMP 或者说 KMM 在移动端挺火,我非常好奇它是如何跨端的 看了一下官方文档,只知道是通过 LLVM 把 Kotlin 转为 IR 再转为目标平台二进制。这部分我目前还没去分析,

fp unwind

为了公司内部写一篇软文,所以这篇文章重写了一下~~ 正文 今天给大家分享一种 arm64 平台下栈回溯的方式 —— fp(frame pointer) 回溯,同时会介绍一些基础概念和实现原理 首

资源去重

最近不知道为什么,我司又开始缩减包体积了,在这个 app 都 100-200M 的年代,在这个 5G 遥遥领先的年代,不知道卷个啥? 那问题不大,既然有需求,我们照做便是 前置

ToyJVM 学习

前段时间看了下 Elk(十分简单的 JS VM,其实算是个 parser + interpreter 吧)的代码,学到了一些计算机基础的东西。 比如,我写代码这么久,甚至不知道 double 的内存结构

Elk JSEngine 学习

一直想学习一下如何写一个 VM,但是苦于各种成熟 VM 代码量庞大,阅读困难,无从学起 即使 lua 的古老版本的代码,对于我这种没有任何编译背景和语言设计背

GC/JIT 抑制

概述 所谓 Android GC/JIT 抑制,即是将 Android GC(部分)/JIT Task 处理任务的过程(Run 方法) hook,强行 sleep 一段时间。因为 JIT 和 GC 目前均为单线程执行,所以没有