摘要:
如果你通过某些培训机构的源码课,就会发现他们的老师在讲源码的时候在类之间、方法之间不停地跳,学员一脸懵逼。因为如果不理解老师讲课的思路,或者是稍微走一下神,就会觉得自己跟不上了。
其实,问题就在于需要理解源码的基本流程和继承链的这种单一职责原则。 阅读全文
摘要:
你是否认为协变和逆变只是定义了集合间的关系,如果你的回答是是,那么这篇文章会改变你原有的看法。 阅读全文
摘要:
最近看到一个有趣的问题:Person类具有Hand,Hand可以操作杯子Cup,但是在石器时代是没有杯子的,这个问题用编程怎么解决? 简单代码实现 我们先用简单代码实现原问题: @Data public class Person { private final String name; privat 阅读全文
摘要:
禁止转载 重写了之前博客写的泛型相关内容,全部整合到这一篇文章里了,把坑都填了,后续不再纠结这些问题了。本文深度总结了函数式思想、泛型对在Java中的应用,解答了许多比较难的问题。 纯函数 协变 逆变 泛型通配符 PECS法则 自限定 Part 1: 协变与逆变 Java8 引入了函数式接口,从此方 阅读全文
摘要:
集合类再探 注:本文使用的pom依赖见文末。 💡 集合类的基础 — Iterable、Iterator java语言层面支持对实现了Iterable接口的对象使用for-each语句。Iterator可以实现有限流和无限流。 Collection类定义了基本的增删改查操作,转向基本数组类型(toA 阅读全文
摘要:
容器类作为数据的载体,在Spring源码中随处可见。理解了容器类的概念,极大地8降低了我们的心智负担,从而关注更重要的代码逻辑与结构。 阅读全文
摘要:
读经典【1】重构:改善既有代码的设计 书评 五星好评。很实用。 最近读了重构原版书,同时也在使用其中的一些技巧来改善工作中的项目,自己改完代码会有成就感。 这本书改变了我原有的思想钢印:代码能成功跑起来就不要去动它。实际上,通过好的代码是通过不断重构和迭代实现的。 转念一想,我们喷别人写的代码是屎山 阅读全文
摘要:
Java8 Stream 的最佳实践 java8stream提供了对于集合类的流失处理,其具有以下特点: Lazy Evaluation(长度可以无限) 只能使用一次 内部迭代 Lazy Evaluation类似函数式中的LazyList,只有在需要时才去求值。减少了内存消耗,Java中可以用Ite 阅读全文
摘要:
Map接口总结(如何使用默认方法) Map的基本使用 默认方法的问题,有什么坑 常用的默认方法应用场景 基本操作 get put(区别:Collection接口中添加为set) putAll remove containsKey containsValue size clear 遍历操作 keySe 阅读全文
摘要:
Effective Java 3 读后感 最近学习了一下Effectvie Java,这是一本非常适合有一定经验的Java后端人员阅读的书。书中总结许多编码经验对开发很有帮助,比如其中总结的对于流和Lambda表达式、泛型的建议,我在实际工作中也经常遇到,自己总结的开发经验和这本书中介绍的也是“英雄 阅读全文