• Effective java -- 9 并发/序列化


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    c# out ref parames的用法
    c#测试执行时间的方法
    c#文件的操作
    c#md5加密的简单用法
    notepad++加到右键
    mysql自动安装脚本
    Arrays.sort实现原理
    选择排序
    自带排序 Array.sort()
    vi中使用鼠标右键插入时进入(insert)visual模式
  • 原文地址:https://www.cnblogs.com/badboyf/p/6293164.html
Copyright © 2020-2023  润新知