Java Concurrency Essentials教程
課程大綱
并發(fā)一直是開(kāi)發(fā)人員面臨的挑戰(zhàn),編寫(xiě)并發(fā)程序可能非常困難。 引入并發(fā)性時(shí),可能會(huì)發(fā)生很多事情,并且系統(tǒng)的復(fù)雜性會(huì)大大增加。
但是,編寫(xiě)健壯的并發(fā)程序的能力是開(kāi)發(fā)人員的必備工具,并且可以幫助構(gòu)建復(fù)雜的企業(yè)級(jí)應(yīng)用程序。
在本課程中,您將深入探討并發(fā)的魔力。 將向您介紹并發(fā)和并發(fā)代碼的基礎(chǔ)知識(shí),并學(xué)習(xí)諸如原子性,同步和線程安全之類(lèi)的概念。
在繼續(xù)學(xué)習(xí)時(shí),以下課程將介紹您可以利用的工具,例如Fork / Join框架,java.util.concurrent JDK軟件包。 總結(jié)一下,您將學(xué)習(xí)測(cè)試并發(fā)應(yīng)用程序。
關(guān)于作者
Martin是一位軟件工程師,在軟件開(kāi)發(fā)方面擁有超過(guò)10年的經(jīng)驗(yàn)。他目前的興趣包括Java EE,專(zhuān)注于HTML5的Web應(yīng)用程序和性能優(yōu)化。 目前,Martin在Java EE領(lǐng)域的一家國(guó)際運(yùn)營(yíng)公司工作,并且對(duì)日常使用大型大數(shù)據(jù)系統(tǒng)的工作感到擔(dān)憂。
經(jīng)驗(yàn)教訓(xùn)
在我們課程的第一課中,您將被介紹到神奇的并發(fā)世界。 您將了解線程以及如何創(chuàng)建,啟動(dòng)它們,使它們進(jìn)入睡眠狀態(tài)等等。 此外,您將首先了解同步以及對(duì)變量的原子訪問(wèn)。 每個(gè)示例都提供了示例代碼。
在本課程中,您將學(xué)習(xí)并發(fā)應(yīng)用程序的重要方面,例如活動(dòng)性和多線程。 您將學(xué)習(xí)如何避免并行編程的常見(jiàn)陷阱,例如死鎖,線程饑餓等。此外,您還將了解代碼同步以及如何實(shí)現(xiàn)同步。 最后,將研究用于編寫(xiě)多線程代碼的設(shè)計(jì)策略。
在本課程中,我們將重點(diǎn)討論java.util.concurrent包,其中包括許多有趣的類(lèi),這些類(lèi)提供了實(shí)現(xiàn)多線程應(yīng)用程序所需的必要和有用的功能。 我們將看到如何使用相關(guān)的API類(lèi),例如執(zhí)行程序,并發(fā)集合,原子變量等。
在本課程中,我們討論多線程應(yīng)用程序的性能主題。 在定義了性能和可伸縮性這兩個(gè)術(shù)語(yǔ)之后,我們將仔細(xì)研究阿姆達(dá)爾定律。 在本課程的進(jìn)一步內(nèi)容中,我們將看到如何通過(guò)應(yīng)用不同的技術(shù)來(lái)減少鎖爭(zhēng)用,如代碼示例所示。
在本課程中,我們將討論Fork / Join框架,該框架從1.7版開(kāi)始就是JDK的一部分。 該框架提供了一組非常方便的類(lèi),可用于根據(jù)相關(guān)算法編寫(xiě)并發(fā)應(yīng)用程序。 我們將探索主要類(lèi),并提供有關(guān)如何使用它們的示例。
在最后的課程中,我們將討論多線程應(yīng)用程序的測(cè)試。 我們實(shí)現(xiàn)一個(gè)簡(jiǎn)單的阻塞隊(duì)列,并在壓力測(cè)試條件下測(cè)試其阻塞行為以及行為和性能。 最后,我們闡明了用于多線程類(lèi)的單元測(cè)試的可用框架(例如JMock,Grobo Utils等)。
請(qǐng)確保轉(zhuǎn)發(fā)此消息,讓您的社交粉絲知道!
#Java Concurrency Essentials教程-免費(fèi)超級(jí)課程http://t.co/a6estpEWOm pic.twitter.com/NYbZK6xvkt
— Java Code Geeks(@javacodegeeks) ,2015年10月17日
翻譯自: https://www.javacodegeeks.com/2015/09/java-concurrency-essentials.html
總結(jié)
以上是生活随笔為你收集整理的Java Concurrency Essentials教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 网易云游戏(网易云 ddos)
- 下一篇: 使用jOOQ DSL