欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Java修炼指南(高频源码解析双色印刷)/数字化人才职场赋能系列丛书
      • 作者:编者:曹子方//杨富杰//刘常凯//肖爱良//胡斌等|责编:尚晨
      • 出版社:机械工业
      • ISBN:9787111660156
      • 出版日期:2020/08/01
      • 页数:274
    • 售价:31.96
  • 内容大纲

        本书通过图文结合的讲解方式帮助读者理解JDK源码,完成多线程并发编程从入门到实践的飞跃,全书分为7章:第1章主要讲解Java基础类的源码实现;第2章主要剖析了常用集合类的原理源码;第3章讲解了常用原子类AtomicLong和LongAdder的用法和原理;第4章主要剖析了JUC独占锁ReentmntLock的原理源码,Reentranlock是学习其他并发类的基础:第5章剖析了两种常用并发容器List和Map的实现原理,重点讲解了ConcurrentHashMap的实现;第6章讲解了阻塞队列的实现,着重讲解其代表类ArrayBlockingQueue和LinkedBlockingQueue的原理源码;第7章剖析了线程池的原理源码,本书每章均配有重要知识点串讲视频。
        本书适合Java研发工程师、对JDK源码或,Java并发编程感兴趣以及希望探索JUC包原理源码人员阅读。
  • 作者介绍

  • 目录

    前言
    第1章  Java必须掌握的基础类
      1.1  JDK中所有类的基类——Object类
        1.1.1  为什么java.lang包下的类不需要手动导入
        1.1.2  类构造器
        1.1.3  equals方法
        1.1.4  getClass方法
        1.1.5  hashCode方法
        1.1.6  toString方法
        1.1.7  notify()/notifyAll()/wait()
        1.1.8  finalize方法
        1.1.9  registerNatives方法
      1.2  Java的深拷贝和浅拷贝
        1.2.1  创建对象的5种方式
        1.2.2  Clone方法
        1.2.3  基本类型和引用类型
        1.2.4  浅拷贝
        1.2.5  深拷贝
        1.2.6  如何实现深拷贝
      1.3  最常用的引用类——Integer类
        1.3.1  Integer类简介
        1.3.2  Integer的主要属性
        1.3.3  Integer类和int的区别
        1.3.4  构造方法Integer(int),Integer(String)
        1.3.5  toString(),toString(int i)和toString(int i,int radix)
        1.3.6  自动拆箱和装箱
        1.3.7  回顾本节开篇的问题
        1.3.8  进行测试
        1.3.9  equals()方法
        1.3.10  String类的定义
        1.3.11  hashCode()方法
        1.3.12  parseInt(String s)和parseInt(String s,int radix)方法
        1.3.13  compareTo(Integer anotherInteger)和compare(int x,int y)方法
      1.4  日常编码中最常用的类——String类
        1.4.1  字段属性
        1.4.2  构造方法
        1.4.3  equals(Object anObject)方法
        1.4.4  hashCode()方法
        1.4.5  charAt(int index)方法
        1.4.6  compareTo(String anotherString)和compareToIgnoreCase(String str)方法
        1.4.7  concat(String str)方法
        1.4.8  indexOf(int ch)和indexOf(int ch,int fromIndex)方法
        1.4.9  split(String regex)和split(String regex,int limit)方法
        1.4.10  replace(char oldChar,char newChar)和String replaceAll(String regex
    String replacement)方法
        1.4.11  substring(int beginIndex)和substring(int beginIndex,int endIndex)方法
        1.4.12  常量池
        1.4.13  intern()方法
        1.4.14  String真的不可变吗
      1.5  本章小结

    第2章  Java数据结构的实现集合类
      2.1  集合工具类的重要类——Arrays类
        2.1.1  asList方法
        2.1.2  sort方法
        2.1.3  binarySearch方法
        2.1.4  copyOf方法
        2.1.5  equals 和 deepEquals方法
        2.1.6  fill方法
        2.1.7  toString 和 deepToString方法
      2.2  List集合的一种典型实现——ArrayList类
        2.2.1  ArrayList 定义
        2.2.2  字段属性
        2.2.3  构造函数
        2.2.4  添加元素
        2.2.5  删除元素
        2.2.6  修改元素
        2.2.7  查找元素
        2.2.8  遍历集合
        2.2.9  SubList 方法
        2.2.10  size()方法
        2.2.11  isEmpty()方法
        2.2.12  trimToSize()方法
      2.3  List 集合的另一种典型实现——LinkedList 类
        2.3.1  LinkedList定义
        2.3.2  字段属性
        2.3.3  构造函数
        2.3.4  添加元素
        2.3.5  删除元素
        2.3.6  修改元素
        2.3.7  查找元素
        2.3.8  遍历集合
        2.3.9  迭代器和for循环效率差异
      2.4  常用的集合——HashMap 类
        2.4.1  Hash表
        2.4.2  什么是HashMap
        2.4.3  HashMap定义
        2.4.4  字段属性
        2.4.5  构造函数
        2.4.6  确定Hash桶数组索引位置
        2.4.7  添加元素
        2.4.8  扩容机制
        2.4.9  删除元素
        2.4.10  查找元素
        2.4.11  遍历元素
      2.5  Map 集合的一种实现——LinkedHashMap 类
        2.5.1  LinkedHashMap 定义
        2.5.2  字段属性
        2.5.3  构造函数
        2.5.4  添加元素
        2.5.5  删除元素

        2.5.6  查找元素
        2.5.7  遍历元素
        2.5.8  迭代器
      2.6  基于树实现的类——TreeMap类
        2.6.1  TreeMap 定义
        2.6.2  字段定义
        2.6.3  构造函数
        2.6.4  添加元素
        2.6.5  删除元素
        2.6.6  查找元素
        2.6.7  遍历元素
      2.7  本章小结
    第3章  Java并发包原子类
      3.1  原子变量操作类AtomicLong
      3.2  高性能原子操作类LongAdder
        3.2.1  LongAdder介绍
        3.2.2  LongAdder源码解析
      3.3  本章小结
    第4章  Java并发包锁
      4.1  为什么引入JUC锁
      4.2  独占锁ReentrantLock原理
        4.2.1  ReentrantLock简介
        4.2.2  AQS同步队列
        4.2.3  锁的获取
        4.2.4  锁的释放
        4.2.5  公平锁和非公平锁实现区别
      4.3  Condition条件变量
        4.3.1  Condition案例
        4.3.2  Condition的源码解析
      4.4  本章小结
    第5章  并发容器原理
      5.1  List并发容器
        5.1.1  add方法:添加元素
        5.1.2  修改/插入/删除
        5.1.3  get方法:获取元素
      5.2  Map并发容器
        5.2.1  ConcurrentHashMap简介
        5.2.2  put方法:添加元素
        5.2.3  remove方法:删除元素
        5.2.4  get方法:获取元素
        5.2.5  获取元素个数:size方法
        5.2.6  扩容与数据迁移
      5.3  本章小结
    第6章  阻塞队列原理
      6.1  生产者-消费者模式
      6.2  阻塞队列实现原理
      6.3  ArrayBlockingQueue源码解析
        6.3.1  出队和入队的环形队列
        6.3.2  插入元素
        6.3.3  移除元素

      6.4  LinkedBlockingQueue源码解析
        6.4.1  插入元素
        6.4.2  移除元素
      6.5  本章小结
    第7章  线程池原理解析
      7.1  为什么要用线程池
      7.2  线程池的优点
      7.3  线程池实现原理
      7.4  线程池ThreadPoolExecutor
      7.5  ThreadPoolExecutor源码解析
        7.5.1  execute提交任务
        7.5.2  addWorker创建并执行工作线程
        7.5.3  关闭线程池
      7.6  本章小结
    附录
    红黑树
    基础工具类:Unsafe类
    基础工具类:LockSupport类