Effective java -- 9 并发/序列化

关于同步的问题,想弄明白java,同步不会是不行的。这不书弄完后还会从《java并发编程实战》和《java并发编程的艺术》选一本或者都看。

第六十六条:同步访问共享的可变数据
说的就是线程之间同步的问题。synchronized及volitale关键字的使用方法。
在进行同步的时候,不仅读的过程要同步,写的过程也要同步,两者必须。哪步没同步都不叫做同步。
知道 i++ 不是原子操作,其中包括读的过程和一个写的过程。

第六十七条:避免过度同步

第六十八条:executor和task优先于线程
尽量使用java.util.concurrent包中的类,避免自己写线程。这个包就是专门为多线程而开发的。

第六十九条:并发工具优先于wait和notify

第七十条:线程安全性的文档化

不要根据文档中是否有synchronized判断一个方法是不是线程安全的。

第七十一条:慎用延迟初始化

第七十二条:不要依赖于线程调度器

第七十三条:避免使用线程组

第七十四条:谨慎地实现Serializable接口

第七十五条:考虑使用自定义的序列化形式

第七十六条:保护性的编写readObject方法

第七十七条:对于实例控制,枚举类型优先于readResolve

第七十八条:考虑序列化代理代替序列化实例

是强迫证让我把书抄完的,其实我不向看这部分东西。

上一篇:Effective java笔记(一),创建与销毁对象


下一篇:H5页面在QQ和微信上分享,为什么不能自定义设置图片和摘要?