PunchCode

以终为始

CSAPP-123讲

1_Overview 第一节课几乎没有讲任何的知识, 只是单纯地介绍了这节课, 老师是Bryant和O’Hallaron, CSAPP原书的作者. 这门课的前置要求是会

Java Concurrency in Practice Chapter7-Cancellation and Shutdown

7.1 Task cancellation e.g. PrimeGenerator是一个质数生成器, 通过调用aSecondOfPrimes方法, 实现在1秒延迟后取消质数生成. 看起来没有什

Java Concurrency in Practice Chapter6-Task Execution

一个大型的应用通常是一个个的任务组成的, 这个Chapter就讲怎么设计一个线程安全的任务. 6.1-Executing tasks in threads 如果串行执行任务, 性能很差, 不适合web服

Java Concurrency in Practice Chapter5-Building Blocks

上一章讲如何设计线程安全类, 这一章就介绍JDK中已有的线程安全类, 把线程安全性委托给这些类, 并让这些类区管理所有的状态, 从而使模块线程安全.

Java Concurrency in Practice Chapter4-Composing Objects

这一章介绍一些组合模式, 让我们把一个类设计成线程安全的类, 避免在每一次访问内存时都要去分析线程安全性, 平切在维护这些类时不会破坏线程安全性.

Java Concurrency in Practice Chapter3-Sharing Objects

这一章主要讲如何安全地共享资源, 来保证线程安全性. 换个角度理解这句话, 如果资源不被共享, 那么也能保证线程安全. Visibility 没有同步机制, 两个线程的执行

Java Concurrency in Practice Chapter2-Thread Safety

这一节主要介绍线程安全的一些基本概念, 解释一些基本名词. 写线程安全的并发代码, 关键就是在访问共享资源时做好管理. Atomicity 在不同的线程访问一个资源时

Effective Java Chapter9&10-General Programming&Exceptions

这是Effective Java第九和第十章的总结, 讲如何编程. 项目链接JavaLab. Item 57: Minimize the scope of local variables 减少局部变量的scope, 比如循环遍历

Effective Java Chapter8-Methods

这是Effective Java第八章的总结, 讲如何设计方法, 个构造器原则一样, 考虑usability, robustness, flexibility. 项目链接JavaLab. Item 49: Check parameters for

Effective Java Chapter7-Lambdas and Streams

这是Effective Java第七章的总结, 讲Lambdas和Streams这两个在Java8中经常使用的特性. 项目链接JavaLab. Item 42: