毫無疑問,Java是目前服務(wù)端程序最常用的編程語言之一。大量的服務(wù)端應(yīng)用基于這個看似簡單的開發(fā)語言,然而容易入門并不代表容易精通。其中高并發(fā)程序設(shè)計就是一個重點(diǎn),也是一個難點(diǎn)。
ps:下面小編為大家?guī)淼倪@份騰訊大神耗時三年的巔峰之作可以很好的幫助大家解決這個難點(diǎn)
隨著多核CPU的發(fā)展,并行程序開發(fā)變得尤為重要。
本書主要介紹基于Java的并行程序設(shè)計基礎(chǔ)、思路、方法和實(shí)戰(zhàn)。
第一,立足于并發(fā)程序基礎(chǔ),詳細(xì)介紹Java進(jìn)行并行程序設(shè)計的基本方法。
第二,進(jìn)一步詳細(xì)介紹了JDK對并行程序的強(qiáng)大支持,幫助讀者快速、穩(wěn)健地進(jìn)行并行程序開發(fā)。
第三,詳細(xì)討論了“鎖'的優(yōu)化和提高并行程序性能級別的方法和思路。
第四,介紹了并行的基本設(shè)計模式,以及Java 8/9/10對并行程序的支持和改進(jìn)。
第五,介紹了高并發(fā)框架Akka的使用方法。
第六,詳細(xì)介紹了并行程序的調(diào)試方法。
第七,分析Jetty代碼并給出一些其在高并發(fā)優(yōu)化方面的例子。
內(nèi)容概覽
第1章 主要介紹了并行計算中相關(guān)的一些基本概念,樹立讀者對并行計算的基本認(rèn)識,介紹了兩個重要的并行性能評估定律,以及Java內(nèi)存模型JMM。
第4章 介紹了在開發(fā)過程中可以進(jìn)行的對鎖的優(yōu)化,也進(jìn)一步簡要描述了Java虛擬機(jī)層面對并行程序的優(yōu)化支持。此外,還花費(fèi)一定 的篇幅介紹了無鎖的計算。
第5章 介紹了并行程序設(shè)計中常見的一些設(shè)計模式,以及一些典型的并行算法和使用方法,其中包括重要的Java NIO和AIO的介紹。
第6章 介紹了Java 8/9/10 為并行計算做的改進(jìn),包括并行流、CompletableFuture、StampedLock、LongAdder, 以及發(fā)布和訂閱模式等。
第7章 主要介紹了高并發(fā)框架Akka的基本使用方法,并使用Akka框架實(shí)現(xiàn)了一個簡單的粒子群算法,模擬超高并發(fā)的場景。
第8章 介紹了使用Eclipse 進(jìn)行多線程調(diào)試的方法,并演示了通過Eclipse 進(jìn)行多線程調(diào)試重現(xiàn)ArrayList的線程不安全問題。
第9章 介紹了Jetty, 并分析了Jetty 的一些關(guān)鍵代碼,主要展示它在高并發(fā)優(yōu)化中所做的一些努力,也為讀者學(xué)會并深入理解高并發(fā)帶來一些提示和思考。