深入理解Java高并发编程

价格 148.00对比
发货 广东东莞市
销量 暂无
评价 已有 0 条评价
人气 已有 1 人关注
数量
+-
库存100
 
联系方式
加关注0

博文图书网

管理员第2年
资料通过认证
保证金未缴纳

内容简介

本书于介绍Java高并发编程方面的知识。由于多线程处理涉及的知识内容十分丰富,因此介绍时必须从Java层面的讲解一直深入到底层的知识讲解。 为了帮助读者轻松阅读本书并掌握其中知识,本书做了大量基础知识的铺垫。在第1篇基础知识储备中,主要介绍计算机原理、并发基础、常见语言的线程实现、Java并发入门、JUC之Java线程池、JUC之同步结构、Java NIO详解等内容。在第2篇深入Java并发原理中,详细介绍了JU中所有使用的原子类的原理与源码实现;关键且容易出错的volatile关键字的原理,从Java、JVM、C、汇编、CPU层面对行详细讲解;synchronized在JVM中获取锁和释放锁的流程;JU的核心结构——AQS的原理与源码实现,通过逐方法、逐行的解释,帮助读者掌握AQS的获取锁、释放锁、条件变量等操作的实现与原理。后,详细介绍了JVM中JNI的实现原理,将Java Thread对象中的所有方法在JVM层面的实现流行了详细描述,以帮助读者在使用这些方法时,知道底层发生了什么,以及发生异常时如何从容解决问题。 本书适合有Java编程能力的读者,主要面向编程开发的从业者、爱好者,是Java开发工程师、架构师,希望提升计算机系统底层和Java语言底层能力的人士。

目录

第1篇 基础知识储备 第1章 计算机原理 1.1 汇编语言基础 1.1.1 汇编语言与机器语言 1.1.2 常见的寄存器 1.1.3 常见操作语句 1.1.4 内联汇编 1.1.5 常见助记符 1.2 C语言基础 1.2.1 基本数据类型 1.2.2 结构体原理 1.2.3 指针原理 1.2.4 指针与数组原理 1.3 计算机组成原理基础 1.3.1 intel的发展历史 1.3.2 计算机程序的组成 1.3.3 计算机的内存管理与内存地址原理 1.3.4 计算机程序的执行原理 1.4 OS概述 1.4.1 OS的发展历程和分类 1.4.2 常用的OS系统 1.5 小结 第2章 并发基础 2.1 并发与并行原理 2.1.1 并发 2.1.2 并行 2.1.3 并发与并行带来的问题 2.2 传统OS并发控制原理 2.2.1 P-V原语 2.2.2 信号量 2.2.3 互斥量 2.2.4 自旋锁 2.2.5 读写锁 2.2.6 死锁 2.3 CPU并发控制原理 2.3.1 中断控制 2.3.2 缓存一致协议 2.3.3 系统屏障 2.3.4 线/缓存锁 2.4 Linux内核并发控制原理 2.4.1 Linux内核信号量与P-V原语实现原理 2.4.2 Linux内核互斥量实现原理 2.4.3 Linux内核自旋锁实现原理 2.4.4 Linux内核读写锁实现原理 2.4.5 Linux内核中断控制与内核抢占原理 2.4.6 Linux内核seq锁实现原理 2.4.7 Linux内核rcu锁实现原理 2.5 Glibc和Pthread库原理 2.5.1 C标准、CRT与Glibc 2.5.2 LinuxThread与POSIX、NGTP、NPTL 2.5.3 NPTL常用函数与实现原理 2.6 小结 第3章 常见语言的线程实现 3.1 汇编语言多线程实现 3.2 C语言多线程实现 3.3 Go语言多线程实现 3.4 Python语言多线程实现 3.5 Java语言多线程实现 3.6 不同语言并发异同与知识推理 3.7 小结 第4章 Java并发入门 4.1 Java Thread类核心原理与方法 4.1.1 Thread 4.1.2 run方法 4.1.3 start方法 4.1.4 stop方法 4.1.5 destory方法 4.1.6 interrupt方法 4.1.7 sleep方法 4.1.8 join方法 4.1.9 Thread方法使用与线程状态转换 4.2 Runnable与Callable的使用 4.3 Future接口的使用 4.4 Promise接口的使用 4.5 volatile关键字的使用 4.6 synchronized关键字的使用 4.7 小结 第5章 JUC之Java线程池 5.1 Executor与ExecutorService详解 5.1.1 Executor接口原理 5.1.2 ExecutorService接口原理 5.2 ThreadPoolExecutor详解 5.2.1 ThreadPoolExecutor例子 5.2.2 ThreadPoolExecutor核心数据结构 5.2.3 execute方法的实现原理 5.2.4 shutdown方法实现原理 5.2.5 awaitTermination方法的实现原理 5.2.6 shutdownNow方法的实现原理 5.3 ScheduledThreadPoolExecutor详解 5.3.1 ScheduledThreadPoolExecutor例子 5.3.2 ScheduledExecutorService接口 5.3.3 ScheduledThreadPoolExecutor核心变量 5.3.4 scheduleAtFixedRate实现与原理 5.3.5 ScheduledFutureTask实现与原理 5.3.6 scheduleWithFixedDelay实现与原理 5.3.7 shutdown实现与原理 5.4 构建不同线程池 5.4.1 FixedThreadPool 5.4.2 SingleThreadExecutor 5.4.3 CachedThreadPool 5.4.4 SingleThreadScheduledExecutor 5.4.5 ScheduledThreadPool 5.5 ForkJoinPool详解 5.5.1 ForkJoinPool核心数据结构与方法 5.5.2 ForkJoinPool externalPush实现原理 5.5.3 ForkJoinPool externalSubmit实现原理 5.5.4 ForkJoinPool signalWork实现原理 5.5.5 ForkJoinPool tryWorker实现原理 5.5.6 ForkJoinPool createWorker实现原理 5.5.7 ForkJoinPool registerWorker实现原理 5.5.8 ForkJoinPool ForkJoinWorkerThread执行原理 5.5.9 ForkJoinPool scan窃取算法原理 5.5.10 ForkJoinPool runTask原理 5.5.11 ForkJoinPool awaitWork原理 5.5.12 ForkJoinPool切割子任务 5.5.13 ForkJoinTask doExec原理 5.5.14 ForkJoinTask fork原理 5.5.15 ForkJoinTask join原理 5.5.16 ForkJoinPool awaitJoin原理 5.5.17 ForkJoinPool tryRemoveAndExec原理 5.5.18 ForkJoinPool helpStealer原理 5.5.19 ForkJoinPool tryCompensate原理 5.5.20 ForkJoinPool shutdown原理 5.5.21 ForkJoinPool awaitTermination原理 5.5.22 ForkJoinPoo结 5.5.23 RecursiveAction原理 5.5.24 RecursiveTask原理 5.5.25 CountedCompleter原理 5.6 CompletableFuture详解 5.6.1 CompletableFuture 概念与例子 5.6.2 CompletableFuture CompletionStage接口 5.6.3 CompletableFuture runAsync原理 5.6.4 CompletableFuture postComplete原理 5.6.5 CompletableFuture Completion原理 5.6.6 CompletableFuture allOf原理 5.7 小结 第6章 JUC之同步结构 6.1 同步结构基础实现原理 6.1.1 Lock接口 6.1.2 Condition接口 6.1.3 LockSupport类 6.1.4 AQS类 6.1.5 队列核心接口 6.2 ReentrantLock实现与原理 6.3 ReentrantReadWriteLock实现与原理 6.4 Semapher实现与原理 6.5 FutureTask实现与原理 6.6 ArrayBloQueue实现与原理 6.7 linkedBloQueue实现与原理 6.8 linkedBloDeque实现与原理 6.9 linkedTransferQueue实现与原理 6.10 SynchronousQueue实现与原理 6.11 PriorityBloQueue实现与原理 6.12 ConcurrentlinkedQueue实现与原理 6.13 ConcurrentlinkedDeque实现与原理 6.14 ThreadLocalRandom实现与原理 6.15 CopyOnWriteArrayList实现与原理 6.16 CopyOnWriteArraySet实现与原理 6.17 CountDownLatch实现与原理 6.18 CyclicBarrier实现与原理 6.19 ConcurrentHashMap实现与原理 6.20 ConcurrentSkipListMap实现与原理 6.21 ConcurrentSkipListSet实现与原理 6.22 Exchanger实现与原理 6.23 Phaser实现与原理 6.24 小结 第7章 Java NIO详解 7.1 NIO三剑客之Buffer原理 7.1.1 Buffer 7.1.2 ByteBuffer 7.1.3 HeapByteBuffer 7.1.4 MappedByteBuffer 7.1.5 DirectByteBuffer 7.2 NIO三剑客之Channel原理 7.2.1 Channel 7.2.2 FileChannel 7.2.3 SocketChannel 7.2.4 ServerSocketChannel 7.2.5 DatagramChannel 7.3 NIO三剑客之Selector原理 7.3.1 Selector 7.3.2 SelectionKey 7.4 小结第2篇 深入Java并发原理 第8章 JVM synchronized与volatile原理详解 8.1 JVM源码分析之Unsafe类 8.1.1 compareAndSwap类方法实现原理 8.1.2 getIntVolatile方法实现原理 8.1.3 putIntVolatile方法实现原理 8.1.4 putOrderedInt方法实现原理 8.1.5 park方法实现原理 8.1.6 loadFence方法实现原理 8.1.7 storeFence方法实现原理 8.1.8 fullFence方法 8.2 JVM源码分析之原子类 8.2.1 AtomicInteger实现与原理 8.2.2 AtomicBoolean实现与原理 8.2.3 AtomicIntegerArray实现与原理 8.2.4 AtomicIntegerFieldUpdater实现与原理 8.2.5 AtomicLong实现与原理 8.2.6 AtomicLongArray实现与原理 8.2.7 AtomicLongFieldUpdater实现与原理 8.2.8 AtomicMarkableReference实现与原理 8.2.9 AtomicStampedReference实现与原理 8.2.10 AtomicReference实现与原理 8.2.11 AtomicReferenceArray实现与原理 8.2.12 AtomicReferenceFieldUpdater实现与原理 8.2.13 DoubleAccumulator实现与原理 8.2.14 Doubleer实现与原理 8.2.15 LongAccumulator实现与原理 8.2.16 Longer实现与原理 8.3 volatile原理分析 8.3.1 JVM内存模型 8.3.2 Java中happenefore原则 8.3.3 Java中Volatile语义 8.3.4 Java中Volatile字节码原理 8.3.5 JVM中putstatic和getstatic字节码原理 8.3.6 C/C++中的volatile原理 8.3.7 JVM中volatile对于禁止重排序的实现原理 8.3.8 从Pthread线程库分析C的volatile语义 8.3.9 JMM和CPU模型原理 8.4 synchronized源码分析 8.4.1 Java对象头原理 8.4.2 _monitorenter获取锁过程原理 8.4.3 _monitorexit释放锁过程原理 8.4.4 Object.wait等待过程原理 8.4.5 Object.notify唤醒过程原理 8.4.6 Object.notifyAll唤醒过程原理 8.4.7 Object.hashcode获取哈希码过程原理 8.5 小结 第9章 AQS源码详解 9.1 compare and swap原理详解 9.1.1 compare and swap概念 9.1.2 Java层面compare and swap实现原理 9.1.3 Hotspot虚拟机层面compare and swap实现原理 9.1.4 汇编层面compare and swap实现原理 9.2 AQS核心之Node类 9.3 AQS核心之head和tail变量 9.4 AQS核心之state变量 9.5 AQS核心之acquire过程原理 9.6 AQS核心之acquireInterruptibly过程原理 9.7 AQS核心之acquireShared过程原理 9.8 AQS核心之acquireSharedInterruptibly过程原理 9.9 AQS核心之release过程原理 9.10 AQS核心之releaseShared过程原理 9.11 AQS核心之条件变量原理 9.11.1 ConditionObject类 9.11.2 await Node等作原理 9.11.3 signal Node唤醒操作原理 9.11.4 相关工具方法详述 9.12 小结 第10章 JVM线程原理详解 10.1 JNI详述 10.1.1 JNI概念 10.1.2 JVM执行外部动态链接库原理 10.1.3 JVM执行内部动态链接库原理 10.1.4 JNIEnv结构体原理 10.2 Java Thread类源码解析 10.3 Java Thread Start原理解析 10.4 Java Thread Stop原理解析 10.5 Java Thread Interrupt原理解析 10.6 Java Thread isInterrupted原理解析 10.7 Java Thread Sleep原理解析 10.8 Java Thread Yield原理解析 10.9 Java Thread Suspend原理解析 10.10 Java Thread Resume原理解析 10.11 JVM Thread层级结构 10.12 JVM互斥体原理 10.12.1 ParkEvent与Parker原理 10.12.2 MutexLocker原理 10.12.3 MutexLockerEx原理 10.12.4 Mutex和Monitor原理 10.13 小结

举报收藏 0
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2021111040号