摘要: 1. 设计模式 1.1. 对设计经验的归纳总结 1.2. 一种可重用的蓝图 1.3. Java 5引入了for-each循环 1.3.1. 替代了很多显式使用迭代器的情形 1.4. Java 7推出的菱形操作符(<>) 1.4.1. 帮助大家在创建实例时无须显式使用泛型 1.4.2. 推动了Java 阅读全文
posted @ 2023-02-17 06:38 躺柒 阅读(95) 评论(0) 推荐(0)
摘要: 1. 注解 1.1. 一种使用附加信息装饰程序元素的机制 1.2. Java 8之前,只有声明可以被注解 1.3. 一种语法元数据(syntactic metadata) 1.4. 可以用于文档编制 1.4.1. @Deprecated注解被广泛应用于说明某个方法不再推荐使用 1.5. 依据注解检测 阅读全文
posted @ 2023-02-16 06:40 躺柒 阅读(96) 评论(0) 推荐(0)
摘要: 1. 设计原则 1.1. 将所有你愿意接受的作为参数的函数可能带来的副作用以文档的方式记录下来 1.2. 最理想的情况下你接收的函数参数应该没有任何副作用 1.3. 延迟数据结构是强力武器 1.4. 所有使用持久化数据结构的用户都必须遵守“不修改”原则 2. 一等函数 2.1. first-clas 阅读全文
posted @ 2023-02-15 06:51 躺柒 阅读(359) 评论(0) 推荐(0)
摘要: 1. 规则 1.1. 传递参数,返回结果 1.1.1. 异常和中断都不算返回结果 1.2. 减少共享的可变数据结构能帮助你降低维护和调试程序的代价 2. 耦合性 2.1. 软件系统中各组件之间是否相互独立 3. 内聚性 3.1. 系统的各相关部分之间如何协作 4. 无状态的行为 4.1. 流水线中的 阅读全文
posted @ 2023-02-14 06:37 躺柒 阅读(71) 评论(0) 推荐(0)
摘要: 1. 兼容性 1.1. 二进制级的兼容性 1.1.1. 只要不重新编译该类,即使不实现新的方法,现有类的实现依旧可以运行 1.1.2. 现有的二进制执行文件能无缝持续链接(包括验证、准备和解析)和运行 1.1.3. 如果新添加的方法不被调用,接口已经实现的方法就可以继续运行,不会出现错误 1.2.  阅读全文
posted @ 2023-02-13 07:10 躺柒 阅读(308) 评论(0) 推荐(0)
摘要: 1. null的由来 1.1. 历史上被引入到程序设计语言中,目的是为了表示变量值的缺失 1.2. 包括Java在内的大多数现代程序设计语言为了与更老的语言保持兼容 2. null带来的问题 2.1. 错误之源 2.1.1. NullPointerException是最典型的异常 2.2. 代码膨胀 阅读全文
posted @ 2023-02-12 07:04 躺柒 阅读(105) 评论(0) 推荐(0)
摘要: 1. 基本信息 Java 8函数式编程 Java 8 Lambdas: Functional Programming for the Masses [英] Richard Warburton 著 ; 王群锋 译 人民邮电出版社,2015年3月出版 1.1. 读薄率 书籍总字数191千字,笔记总字数8 阅读全文
posted @ 2023-02-11 07:12 躺柒 阅读(112) 评论(0) 推荐(0)
摘要: 1. Java 8之前的库对日期和时间的支持非常不理想 2. TemporalField接口 2.1. 定义了如何访问temporal对象某个字段的值的接口 2.2. ChronoField枚举 2.2.1. 实现TemporalField接口 3. LocalDate类 3.1. 实例是一个不可变 阅读全文
posted @ 2023-02-10 06:59 躺柒 阅读(112) 评论(0) 推荐(0)
摘要: 1. 集合工厂 1.1. Arrays.asList() 1.1.1. 创建了一个固定大小的列表 1.1.2. 列表的元素可以更新 1.1.3. 不能增加或者删除 1.1.4. 大小固定的可变数组 1.2. 没有Arrays.asSet() 1.2.1. 可以向HashSet的构造器传递一个列表实现 阅读全文
posted @ 2023-02-09 07:11 躺柒 阅读(100) 评论(0) 推荐(0)
摘要: 1. 方便程序员和可读性是头等大事! 1.1. 函数式API设计更易复合和重用 2. 归约和汇总为一个值 2.1. counting() 2.1.1. 计数 2.2. maxBy 2.2.1. 查找流中的最大值 2.3. minBy 2.3.1. 查找流中的最小值 2.4. summingInt 2 阅读全文
posted @ 2023-02-08 07:49 躺柒 阅读(105) 评论(0) 推荐(0)
摘要: 1. 流 1.1. 以声明性方式处理数据集合 1.2. 通过查询语句来表达,而不是临时编写一个实现 1.3. 遍历数据集的高级迭代器 1.4. 透明地并行处理 1.5. 从支持数据处理操作的源生成的元素序列 1.5.1. 元素序列 1.5.1.1. 从有序集合生成流时会保留原有的顺序 1.5.2.  阅读全文
posted @ 2023-02-07 08:47 躺柒 阅读(101) 评论(0) 推荐(0)
摘要: 1. 行为参数化 1.1. 处理频繁变更的需求的一种软件开发模式 1.1.1. 不管你做什么,用户的需求肯定会变 1.1.2. 可让代码更好地适应不断变化的要求,减轻未来的工作量 1.2. 一个方法接受多个不同的行为作为参数,并在内部使用它们,完成不同行为的能力 1.2.1. 类似于在内联“传递代码 阅读全文
posted @ 2023-02-06 07:37 躺柒 阅读(111) 评论(0) 推荐(0)
摘要: 1. 语言的演变 1.1. C和C++仍然是构建操作系统和各种嵌入式系统的流行工具 1.2. Java和C#等安全型语言在诸多运行资源不太紧张的应用中已经取代了C和C++ 1.3. Java可能会被同样运行在JVM上的竞争对手语言(如Scala或Groovy)取代 1.4. Ada、Algol、CO 阅读全文
posted @ 2023-02-05 10:38 躺柒 阅读(115) 评论(0) 推荐(0)
摘要: 1. 回头看 日更坚持了31天,精读了《C#代码整洁之道》《编程与类型系统)《函数式编程思维》《Java8函数式编程》这四本书,当月累积码字43690字。 看了大热的电视剧《狂飙》。 2. 感受 保持千字左右非水贴型日更还是很考验人的。 即使是读书笔记,按照读记比例15:1到25:1折算,每天也要读 阅读全文
posted @ 2023-02-04 07:20 躺柒 阅读(201) 评论(11) 推荐(1)
摘要: 1. 基本信息 函数式编程思维 Functional Thinking [美] 福特(Neal Ford) 著,郭晓刚 译 人民邮电出版社,2015年8月出版 1.1. 读薄率 书籍总字数242千字,笔记总字数9983字。 读薄率9983÷242000≈4.13% 统计口径恢复到版权页书籍总字数,读 阅读全文
posted @ 2023-02-03 08:52 躺柒 阅读(203) 评论(0) 推荐(0)