java8基于堆实现尾递归优化

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

七月 5, 2020 · 6 分钟 · 2947 字 · Ramsay Leung

guava 探究系列之五:新类型容器

1 前言 JDK 提供了各种功能强大的工具类, 宛如装备齐全的军火库, 而容器就是其中一项内置的利器, 提供了包括诸多常用的数据结构, 下图对 JDK 已有容器进行了...

十二月 12, 2019 · 13 分钟 · 6350 字 · Ramsay Leung

guava探究系列之四:不可变容器

1 前言 先此声明, 个人倾向于将Collection翻译成容器, 将Set翻译成集合. 已经许久没有更新Guava研读系列的文章, 今天要介绍的是Gu...

九月 5, 2019 · 6 分钟 · 2863 字 · Ramsay Leung

Guava探究系列之一: 使用和避免使用空指针

1 前言 To be, or not to be, that is the question: 先来看看奆佬们关于空指针的看法: Null sucks - Doug Lea(JCP,Java并发编程实战作者, Java巨佬) I call it my billion-dollar mistake. - Sir C....

七月 2, 2019 · 9 分钟 · 4363 字 · Ramsay Leung

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

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

三月 21, 2019 · 4 分钟 · 1781 字 · Ramsay Leung