摘要:
1. 异常 1.1. 代码应该仅在发生意料之外的事情时抛出异常 1.1.1. 防御性编程性能好 1.2. 异常的处理成本未必很高 1.2.1. 应该只在适当的时候使用 1.2.2. 栈越深,处理异常的成本就越高 1.3. 对于频繁创建的系统异常,JVM会优化获取栈轨迹的性能开销 1.4. 在异常中禁 阅读全文
摘要:
1. 缓冲I/O 1.1. 对于文件和套接字,压缩和字符串编码的操作,必须适当地对I/O进行缓冲 1.1.1. 两个流操作的是字节块(来自缓冲流)而不是一系列的单字节(来自ObjectOutputStream),它们会运行得更好 1.2. InputStream.read() 1.3. Output 阅读全文
摘要:
1. 压缩字符串 1.1. Java 6 1.2. 实验性 1.3. compressed string 2. 字符串 2.1. Java 8 2.2. 所有都会编码为16位字符数组 3. 紧凑字符串 3.1. Java 11 3.2. compact string 3.3. 8位字节数组 3.3. 阅读全文
摘要:
1. JVM调优标志 1.1. 布尔标志和附带参数的标志 1.2. 布尔标志使用的语法 1.2.1. -XX:+FlagName表示开启 1.2.2. -XX:-FlagName表示关闭 1.3. 附带参数的标志使用的语法 1.3.1. -XX:FlagName=something,表示设置Flag 阅读全文
摘要:
1. Scala 1.1. 混合了面向对象和函数式编程的语言 1.2. 直接使用任何一个Java类库 1.3. 声明非递归的方法时,不需要显式地返回类型 1.3.1. 会自动地替你推断生成一个 1.4. 字符串插值 1.4.1. 在字符串的字面量中内嵌变量和表达式 1.5. 以使用val关键字替换v 阅读全文
摘要:
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. 阅读全文