摘要:
1. 编程语言 1.1. 仍然是一门语言 1.1.1. 以最清晰、最容易理解的方式传递信息 1.2. 代码的易读性和易理解性在软件中的重要性甚至更胜一筹 2. 领域特定语言DSL 2.1. 为了解决某个特定业务领域问题的一种自定义语言 2.1.1. 一种小型语言 2.1.2. 大多都不通用 2.1. 阅读全文
摘要:
1. 再次出现在聚光灯下的原因 1.1. 基本思想已经有二三十年的历史 1.2. 大数据 1.2.1. 以PB计量的大数据 1.2.2. 当前互联网中流量最大的部分是移动流量 1.2.3. 物联网(Internet of things, IoT)流量取代移动流量成为互联网流量的主流,这种情况还会进一 阅读全文
摘要:
1. 同步API 1.1. 阻塞式调用 1.2. 调用了某个方法,调用方在被调用方执行的过程中会等待,被调用方执行结束返回,调用方取得被调用方的返回值并继续运行 2. 异步API 2.1. 非阻塞式调用 2.2. 会直接返回,或者至少在被调用方计算完成之前,将它剩余的计算任务交由另一个线程去做 2. 阅读全文
摘要:
1. Stream 1.1. 允许你声明性地将顺序流转变成并行流 1.2. 能对这些集合执行操作流水线,可以充分利用计算机的多个核 2. 并行流 2.1. 把内容拆分成多个数据块,用不同线程分别处理每个数据块的流 2.2. 自动地把工作负荷分配到多核处理器的所有核 2.3. 内部迭代让你可以并行处理 阅读全文
摘要:
1. 潮流 1.1. 与应用程序运行的硬件平台相关 1.1.1. 编写能充分利用多核处理器能力的软件 1.2. 与应用程序的结构相关 1.2.1. 反映了互联网应用对可用性日益增长的需求 2. 聚合型应用(mashup) 2.1. 使用来自多个数据源的内容,将它们聚集在一起,从而简化我们的生活 3. 阅读全文
摘要:
1. Nicolai Parlog编写的The Java Module System 1.1. 推荐阅读 2. Jigsaw项目 2.1. 开发持续了将近十年 3. 关注点分离 3.1. separation of concern,SoC 3.2. 将单体的计算机程序分解为一个个相互独立的特性 4. 阅读全文
摘要:
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 阅读全文
摘要:
1. 注解 1.1. 一种使用附加信息装饰程序元素的机制 1.2. Java 8之前,只有声明可以被注解 1.3. 一种语法元数据(syntactic metadata) 1.4. 可以用于文档编制 1.4.1. @Deprecated注解被广泛应用于说明某个方法不再推荐使用 1.5. 依据注解检测 阅读全文
摘要:
1. 设计原则 1.1. 将所有你愿意接受的作为参数的函数可能带来的副作用以文档的方式记录下来 1.2. 最理想的情况下你接收的函数参数应该没有任何副作用 1.3. 延迟数据结构是强力武器 1.4. 所有使用持久化数据结构的用户都必须遵守“不修改”原则 2. 一等函数 2.1. first-clas 阅读全文
摘要:
1. 规则 1.1. 传递参数,返回结果 1.1.1. 异常和中断都不算返回结果 1.2. 减少共享的可变数据结构能帮助你降低维护和调试程序的代价 2. 耦合性 2.1. 软件系统中各组件之间是否相互独立 3. 内聚性 3.1. 系统的各相关部分之间如何协作 4. 无状态的行为 4.1. 流水线中的 阅读全文