java8基于堆实现尾递归优化

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

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

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

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

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

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

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

九月 5, 2019 · 5 分钟 · 2314 字 · Ramsay Leung

Guava探究系列之三:改善通用方法

1 前言 Java 是一门集大成的面向对象语言, 在Java的世界里, 一切皆对象, 而=Object=类就是所有对象的默认父类. Guava 提供了若干个工具方法来扩展...

七月 25, 2019 · 5 分钟 · 2329 字 · Ramsay Leung

Guava探究系列之二: 优雅校验数据

1 前言 根据防御式编程的要求, 在日常的开发中, 总少不了对函数的各种入参做校验, 以便保证函数能按照预期的流程执行下去. 比如各种费率的值就没可能是...

七月 4, 2019 · 6 分钟 · 2890 字 · Ramsay Leung