高并发第一弹:准备阶段 了解高并发
高并發(fā)第一彈:準(zhǔn)備階段 了解高并發(fā)
首先需要知道什么并發(fā), 什么是高并發(fā).
并發(fā):
關(guān)于并發(fā)的學(xué)習(xí),可以從JDK提供的并發(fā)包為核心開始,許多其他的類和封裝都是對其進行擴展或者補充,我們來看一下Java并發(fā)包(java.util.concurrent包,簡稱J.U.C)的構(gòu)成:
J.U.C核心由5大塊組成:atomic包、locks包、collections包、tools包(AQS)、executor包(線程池)。大家平時遇到許多并發(fā)相關(guān)的類都可以從這里找到。但是呢,要想系統(tǒng)的掌握并發(fā),不能是打開J.U.C這個包,挨個類去看,這里只是提供了五大塊,代表核心的五個方向。要想系統(tǒng)的學(xué)習(xí)并發(fā),還需要從并發(fā)的角度學(xué)習(xí),過程中覆蓋J.U.C的這些知識。:
這個之前呢,還需要對Java并發(fā)的基礎(chǔ)進行細(xì)致的學(xué)習(xí),比如CPU緩存和Java內(nèi)存模型(JMM),許多關(guān)鍵字比如volatile、synchronized等的特性都是在JMM里規(guī)定好的。
高并發(fā)其實我們講的都是兩部分里的第一部分:并發(fā)。那么并發(fā)和高并發(fā)到底有什么區(qū)別呢?
當(dāng)我們說多線程并發(fā)時,其實我們更多的是討論多個線程操作了相同的資源,這時我們討論點更多的是落在保證線程安全以及合理分配和使用資源上。而高并發(fā)主要指系統(tǒng)運行過程中遇到“短時間內(nèi)遇到大量操作請求”的情況,主要發(fā)生在系統(tǒng)集中收到大量請求(例如:12306的搶票情況;天貓雙十一活動)。當(dāng)我們說高并發(fā)時,我們談的是是如何提高現(xiàn)有程序的性能,更多的是對高并發(fā)場景的一些解決方案,思路啦、手段等等。如果高并發(fā)處理不好,不僅僅降低了用戶的體驗度(請求響應(yīng)時間過長),同時可能導(dǎo)致系統(tǒng)宕機,嚴(yán)重的甚至導(dǎo)致OOM異常,系統(tǒng)停止工作等。這里呢,我直接給出高并發(fā)場景通常都會考慮的一些解決思路和手段:
結(jié)尾如何有效的準(zhǔn)備面試中并發(fā)類問題,我已經(jīng)給出我的理解。希望這些能幫大家在腦海里建立起大致的并發(fā)知識體系.
jimin老師課程地址:Java并發(fā)編程與高并發(fā)解決方案
轉(zhuǎn)載于:https://www.cnblogs.com/aihuxi/p/9664249.html
總結(jié)
以上是生活随笔為你收集整理的高并发第一弹:准备阶段 了解高并发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu 安装 pycharm
- 下一篇: 梦到青蛙螃蟹等小动物是什么意思