国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

微網(wǎng)站 微官網(wǎng)的區(qū)別嗎最近的新聞大事10條

微網(wǎng)站 微官網(wǎng)的區(qū)別嗎,最近的新聞大事10條,電影網(wǎng)站開發(fā)視頻教程,桂林同城網(wǎng)站前言 本來想著給自己放松一下,刷刷博客,突然被幾道面試題難倒!引用類型有哪些?有什么區(qū)別?說說你對(duì)JMM內(nèi)存模型的理解?為什么需要JMM?多線程有什么用?似乎有點(diǎn)模糊了,那…

前言

本來想著給自己放松一下,刷刷博客,突然被幾道面試題難倒!引用類型有哪些?有什么區(qū)別?說說你對(duì)JMM內(nèi)存模型的理解?為什么需要JMM?多線程有什么用?似乎有點(diǎn)模糊了,那就大概看一下面試題吧。好記性不如爛鍵盤

*** 12萬字的java面試題整理 ***
*** java核心面試知識(shí)整理 ***
*** Java高頻面試講解視頻(知識(shí)涵蓋齊全) ***

說說你對(duì)JMM內(nèi)存模型的理解?為什么需要JMM?

隨著CPU和內(nèi)存的發(fā)展速度差異的問題,導(dǎo)致CPU的速度遠(yuǎn)快于內(nèi)存,所以現(xiàn)在的CPU加入了高速緩存,高速緩存一般可以分為L(zhǎng)1、L2、L3三級(jí)緩存。基于上面的例子我們知道了這導(dǎo)致了緩存一致性的問題,所以加入了緩存一致性協(xié)議,同時(shí)導(dǎo)致了內(nèi)存可見性的問題,而編譯器和CPU的重排序?qū)е铝嗽有院陀行蛐缘膯栴},JMM內(nèi)存模型正是對(duì)多線程操作下的一系列規(guī)范約束,因?yàn)椴豢赡茏岅惞蛦T的代碼去兼容所有的CPU,通過JMM我們才屏蔽了不同硬件和操作系統(tǒng)內(nèi)存的訪問差異,這樣保證了Java程序在不同的平臺(tái)下達(dá)到一致的內(nèi)存訪問效果,同時(shí)也是保證在高效并發(fā)的時(shí)候程序能夠正確執(zhí)行。
在這里插入圖片描述

  • 原子性:Java內(nèi)存模型通過read、load、assign、use、store、write來保證原子性操作,此外還有l(wèi)ock和unlock,直接對(duì)應(yīng)著synchronized關(guān)鍵字的monitorenter和monitorexit字節(jié)碼指令。
  • 可見性:可見性的問題在上面的回答已經(jīng)說過,Java保證可見性可以認(rèn)為通過volatile、synchronized、final來實(shí)現(xiàn)。
  • 有序性:由于處理器和編譯器的重排序?qū)е碌挠行蛐詥栴},Java通過volatile、synchronized來保證。
happen-before規(guī)則

雖然指令重排提高了并發(fā)的性能,但是Java虛擬機(jī)會(huì)對(duì)指令重排做出一些規(guī)則限制,并不能讓所有的指令都隨意的改變執(zhí)行位置,主要有以下幾點(diǎn):

  1. 單線程每個(gè)操作,happen-before于該線程中任意后續(xù)操作
  2. volatile寫happen-before與后續(xù)對(duì)這個(gè)變量的讀
  3. synchronized解鎖happen-before后續(xù)對(duì)這個(gè)鎖的加鎖
  4. final變量的寫happen-before于final域?qū)ο蟮淖x,happen-before后續(xù)對(duì)final變量的讀
  5. 傳遞性規(guī)則,A先于B,B先于C,那么A一定先于C發(fā)生
說了半天,到底工作內(nèi)存和主內(nèi)存是什么?

主內(nèi)存可以認(rèn)為就是物理內(nèi)存,Java內(nèi)存模型中實(shí)際就是虛擬機(jī)內(nèi)存的一部分。而工作內(nèi)存就是CPU緩存,他有可能是寄存器也有可能是L1\L2\L3緩存,都是有可能的。

多線程有什么用?

一個(gè)可能在很多人看來很扯淡的一個(gè)問題:我會(huì)用多線程就好了,還管它有什么用?在我看來,這個(gè)回答更扯淡。所謂"知其然知其所以然",“會(huì)用"只是"知其然”,“為什么用"才是"知其所以然”,只有達(dá)到"知其然知其所以然"的程度才可以說是把一個(gè)知識(shí)點(diǎn)運(yùn)用自如。OK,下面說說我對(duì)這個(gè)問題的看法:
(1)發(fā)揮多核CPU的優(yōu)勢(shì)
隨著工業(yè)的進(jìn)步,現(xiàn)在的筆記本、臺(tái)式機(jī)乃至商用的應(yīng)用服務(wù)器至少也都是雙核的,4核、8核甚至16核的也都不少見,如果是單線程的程序,那么在雙核CPU上就浪費(fèi)了50%,在4核CPU上就浪費(fèi)了75%。單核CPU上所謂的"多線程"那是假的多線程,同一時(shí)間處理器只會(huì)處理一段邏輯,只不過線程之間切換得比較快,看著像多個(gè)線程"同時(shí)"運(yùn)行罷了。多核CPU上的多線程才是真正的多線程,它能讓你的多段邏輯同時(shí)工作,多線程,可以真正發(fā)揮出多核CPU的優(yōu)勢(shì)來,達(dá)到充分利用CPU的目的。
(2)防止阻塞
從程序運(yùn)行效率的角度來看,單核CPU不但不會(huì)發(fā)揮出多線程的優(yōu)勢(shì),反而會(huì)因?yàn)樵趩魏薈PU上運(yùn)行多線程導(dǎo)致線程上下文的切換,而降低程序整體的效率。但是單核CPU我們還是要應(yīng)用多線程,就是為了防止阻塞。試想,如果單核CPU使用單線程,那么只要這個(gè)線程阻塞了,比方說遠(yuǎn)程讀取某個(gè)數(shù)據(jù)吧,對(duì)端遲遲未返回又沒有設(shè)置超時(shí)時(shí)間,那么你的整個(gè)程序在數(shù)據(jù)返回回來之前就停止運(yùn)行了。多線程可以防止這個(gè)問題,多條線程同時(shí)運(yùn)行,哪怕一條線程的代碼執(zhí)行讀取數(shù)據(jù)阻塞,也不會(huì)影響其它任務(wù)的執(zhí)行。
(3)便于建模
這是另外一個(gè)沒有這么明顯的優(yōu)點(diǎn)了。假設(shè)有一個(gè)大的任務(wù)A,單線程編程,那么就要考慮很多,建立整個(gè)程序模型比較麻煩。但是如果把這個(gè)大的任務(wù)A分解成幾個(gè)小任務(wù),任務(wù)B、任務(wù)C、任務(wù)D,分別建立程序模型,并通過多線程分別運(yùn)行這幾個(gè)任務(wù),那就簡(jiǎn)單很多了。

http://aloenet.com.cn/news/35081.html

相關(guān)文章:

  • 深色大氣網(wǎng)站模板電腦培訓(xùn)學(xué)校學(xué)費(fèi)多少
  • web網(wǎng)站開發(fā)的基本流程產(chǎn)品運(yùn)營(yíng)方案
  • php網(wǎng)站怎么做測(cè)試工具上海網(wǎng)站建設(shè)開發(fā)
  • 網(wǎng)站頂部展出的大幅廣告推廣網(wǎng)站源碼
  • 廣州專業(yè)的網(wǎng)站建設(shè)青島建站seo公司
  • 想象力做網(wǎng)站十大免費(fèi)最虧的免費(fèi)app
  • 佛山網(wǎng)站建設(shè)百度一下首頁
  • cpa個(gè)人網(wǎng)站怎么做快速seo排名優(yōu)化
  • 網(wǎng)站建設(shè)公司做網(wǎng)站要多少費(fèi)用農(nóng)產(chǎn)品品牌推廣方案
  • 微信開放平臺(tái)登錄好口碑的關(guān)鍵詞優(yōu)化
  • 網(wǎng)站建設(shè) 中企動(dòng)力南昌產(chǎn)品如何推廣
  • 西安免費(fèi)做網(wǎng)站哪家好大連seo外包平臺(tái)
  • 分類信息網(wǎng)站平臺(tái)的推廣新聞20字摘抄大全
  • 張家港保稅區(qū)建設(shè)規(guī)劃局網(wǎng)站湖南優(yōu)化公司
  • 做精神科網(wǎng)站專業(yè)代寫軟文
  • 電商網(wǎng)站seoseo管理系統(tǒng)培訓(xùn)
  • 南京做網(wǎng)站公司seo排名優(yōu)化推薦
  • wordpress好看分頁北京做網(wǎng)絡(luò)優(yōu)化的公司
  • 新聞網(wǎng)站開發(fā)書籍北京seo公司
  • 做網(wǎng)站上傳服務(wù)器嗎優(yōu)化網(wǎng)站教程
  • 海南高端網(wǎng)站建設(shè)直接打開百度
  • 淮南 搭建一個(gè)企業(yè)展示網(wǎng)站cba最新排名
  • 電腦裝機(jī)網(wǎng)站網(wǎng)站優(yōu)化的方法有哪些
  • 營(yíng)銷型網(wǎng)站=企業(yè)登記代理網(wǎng)站關(guān)鍵詞優(yōu)化方法
  • 做網(wǎng)站那個(gè)平臺(tái)個(gè)人怎么做免費(fèi)百度推廣
  • wordpress 導(dǎo)入幻燈片優(yōu)化網(wǎng)站建設(shè)
  • 杭州設(shè)計(jì)網(wǎng)站最好的公司東莞seo建站排名
  • 網(wǎng)絡(luò)服務(wù)合同糾紛定義簡(jiǎn)述影響關(guān)鍵詞優(yōu)化的因素
  • 海南做房地產(chǎn)網(wǎng)站的網(wǎng)絡(luò)公司seo公司官網(wǎng)
  • 制作官網(wǎng)需要什么條件茶葉seo網(wǎng)站推廣與優(yōu)化方案