大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java培訓 Java程序員培訓常遇到的一些并發問題

Java程序員培訓常遇到的一些并發問題

更新時間:2019-11-13 15:39:32 來源:動力節點 瀏覽2919次

  編寫優質的并發代碼是一件難度極高的事情。Java語言從首個版本開始內置了對多線程的支持,這一點在當年是非常了不起的,但是當我們對并發編程有了更深刻的認識和更多的實踐后,實現并發編程就有了更多的方案和更好的選擇。本文是對并發編程的一點總結和思考,同時也分享了Java5以后的版本中如何編寫并發代碼的一點點經驗。Java程序員培訓經常遇到的幾個并發問題:

QQ截圖20190702161216.jpg

  為什么需要并發

  并發其實是一種解耦合的策略,它幫助我們把做什么(目標)和什么時候做(時機)分開。這樣做可以明顯改進應用程序的吞吐量(獲得更多的CPU調度時間)和結構(程序有多個部分在協同工作)。做過JavaWeb開發的人都知道,JavaWeb中的Servlet程序在Servlet容器的支持下采用單實例多線程的工作模式,Servlet容器為你處理了并發問題。

  誤解和正解

  常見的對并發編程的誤解有以下這些:

  并發總能改進性能(并發在CPU有很多空閑時間時能明顯改進程序的性能,但當線程數量較多的時候,線程間頻繁的調度切換反而會讓系統的性能下降)-編寫并發程序無需修改原有的設計(目的與時機的解耦往往會對系統結構產生巨大的影響)-在使用Web或EJB容器時不用關注并發問題(只有了解了容器在做什么,才能更好的使用容器)

  下面的這些說法才是對并發客觀的認識:

  編寫并發程序會在代碼上增加額外的開銷-正確的并發是非常復雜的,即使對于很簡單的問題-并發中的缺陷因為不易重現也不容易被發現-并發往往需要對設計策略從根本上進行修改。

  并發編程的原則和技巧

  單一職責原則

  分離并發相關代碼和其他代碼(并發相關代碼有自己的開發、修改和調優生命周期)。

  限制數據作用域

  兩個線程修改共享對象的同一字段時可能會相互干擾,導致不可預期的行為,解決方案之一是構造臨界區,但是必須限制臨界區的數量。

  使用數據副本

  數據副本是避免共享數據的好方法,復制出來的對象只是以只讀的方式對待。Java5的java.util.concurrent包中增加一個名為CopyOnWriteArrayList的類,它是List接口的子類型,所以你可以認為它是ArrayList的線程安全的版本,它使用了寫時復制的方式創建數據副本進行操作來避免對共享數據并發訪問而引發的問題。

  線程應盡可能獨立

  讓線程存在于自己的世界中,不與其他線程共享數據。有過JavaWeb開發經驗的人都知道,Servlet就是以單實例多線程的方式工作,和每個請求相關的數據都是用Servlet子類的service方法(或者是doGet或doPost方法)的參數傳入的。只要Servlet中的代碼只使用局部變量,Servlet就不會導致同步問題。SpringMVC的控制器也是這么做的,從請求中獲得的對象都是以方法的參數傳入而不是作為類的成員,很明顯Struts2的做法就正好相反,因此Struts2中作為控制器的Action類都是每個請求對應一個實例。

       以上就是動力節點java學院小編針對“Java程序員培訓常遇到的一些并發問題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日本久色 | 99伊人精品 | 天天干天天爽天天射 | 国产色婷婷视频在线观看 | 九九热视频这里只有精品 | 欧美91| 在线播放日本爽快片 | 私人影院在线播放 | 久久亚洲高清观看 | 日本一线一区二区三区免费视频 | 日本特级黄毛片毛片视频 | 99久在线 | 深插视频| 国产成人99| 奇米影视778成人四色狠狠 | 80岁色老头69av | 天天做天天爱天天爽综合网 | 视频在线亚洲 | 亚洲欧美精品综合中文字幕 | 四虎免费久久影院 | 亚洲偷图色综合色就色 | 福利视频精品 | 国产精品福利在线观看免费不卡 | 国产精品人人 | 午夜国产精品久久久久 | 奇米激情| 91视频免费入口 | 国产五月色婷婷六月丁香视频 | 永久黄网站色视频免费观看99 | 国产欧美一区二区久久 | 天天爱天天色 | 99在线免费播放 | 免费福利在线播放 | 91探花在线| 嫩草社区 | 88国产精品视频一区二区三区 | 日韩欧美国产综合 | 手机在线精品视频 | 国产精品视频专区 | 婷婷在线网站 | 欧美日韩北条麻妃一区二区 |