java8基于堆实现尾递归优化

1 前言 尾调用消除(tail call elimination, TCE)是函数式编程的重要概念, 有时也被称为尾调用优化(tail call optimization, TCO), 作用是将尾递归函数转化成循环, 避免创建许多栈帧, 减少开销. ...

七月 5, 2020 · 6 分钟 · 2959 字

一条经典面试题的错误答案引发的思考

浅谈Java公平锁与内存模型 1 前言 春天来了,春招还会远么? 又到了春招的季节,随之而来的是各种的面试题。今天就看到组内大佬面试实习生的一道Java题目: ...

三月 21, 2019 · 4 分钟 · 1793 字

How to fool the Jacoco ◜◡‾

刷POJO类的变更行覆盖率 1 反射大法好 1.1 背景 众所周知,蚂蚁对代码质量要求很高,质量红线其中一项指标就是变更行覆盖率。如果你的变更行覆盖率没有达到80%,测试同学是不会允许你上测试环境的(如果对此有所不满,测试同学就会过来捶你)。 为了提高代码质量,这项要求倒是无可厚非,变更的代码逻辑需要充分的测试;但是如果我新增了一堆的POJO类,只是为了逻辑模型,变更行也会变得非常可观。为了覆盖这些POJO类的变更,你免不了会测试一堆的Getter/Setter 方法: ...

三月 14, 2019 · 5 分钟 · 2223 字

Maven 小记

Maven 在工作中的经验以及《Maven 实战》读后感 1 前言 蚂蚁金服的伯岩大大曾经说 Java 生态都太重量级,连Maven 都是怪兽级的构建工具,需要整整一本书来讲解. 平心而论,Maven 的确如此, 但是无论是怪兽级,还是迪迦级的工具,只要能把事情做好了就是好工具, 而 Maven 恰恰就是这样的工具 ...

十月 23, 2018 · 15 分钟 · 7190 字

为Java瘦身 – Lombok

1 前言 几天前 Goolge 在 I/O 大会上宣布了 Android 将官方支持 Kotlin, 这意味着 Android开发者可以更好地使用 Kotlin 开发 Android. 我虽不是 Android 开发者,但是也为 Android 开发者多了一个选择而感到高兴,略显意外的是,接下来到处可以看到 “Java已死,Kotlin 当立” 之类的言论。 ...

五月 24, 2017 · 6 分钟 · 2586 字