01.JMM與JVM

一、程序臭笆、進(jìn)程叙淌、線程

任何一門編程語言都需要的知識(shí),區(qū)分出程序愁铺、進(jìn)程鹰霍、線程對(duì)整個(gè)代碼執(zhí)行流程的理解有一定提升,面試中也經(jīng)常問到

1. 程序

計(jì)算機(jī)程序是一組計(jì)算機(jī)能識(shí)別和執(zhí)行的指令茵乱,運(yùn)行于電子計(jì)算機(jī)上茂洒,滿足人們某種需求的信息化工具。--摘自百度百科
程序通俗來講就是我們給計(jì)算機(jī)下發(fā)的任務(wù)似将,由許多計(jì)算機(jī)指令組成获黔,屬于一個(gè)靜態(tài)概念蚀苛。

2. 進(jìn)程

進(jìn)程是程序的運(yùn)行單元,程序在運(yùn)行時(shí)必定會(huì)有一個(gè)或多個(gè)進(jìn)程玷氏,同事進(jìn)程是資源分配的最小單位
進(jìn)程之間的資源是獨(dú)立的堵未;同一進(jìn)程內(nèi)的線程共享本進(jìn)程的資源。

3. 線程

線程是程序執(zhí)行的最小單位盏触,進(jìn)程中必定會(huì)有一個(gè)或多個(gè)線程渗蟹,線程與進(jìn)程一樣也有自己獨(dú)立資源空間

內(nèi)核線程

指cpu的線程,通常情況下赞辩,一個(gè)cpu內(nèi)核一個(gè)內(nèi)核線程
某些特定的cpu具備超線程

3.1 超線程

在一個(gè)cpu里面封裝兩個(gè)邏輯運(yùn)算單元雌芽,模擬可以同時(shí)處理兩個(gè)線程,但并不是真正意義上的同時(shí)處理兩個(gè)線程辨嗽,所以性能提升只有30%左右

3.2 java線程

java 本身有線程對(duì)象Thread世落,java多線程也是java編程語言優(yōu)勢(shì)之一

二、java 內(nèi)存模型

java內(nèi)存模型有線程糟需,工作空間屉佳,內(nèi)存(主存)

1. 線程

運(yùn)行java程序需要有由java線程來執(zhí)行,java線程具備獨(dú)立的工作空間洲押,即線程棧

2. 工作空間

內(nèi)存模型中的工作空間為線程獨(dú)有武花,每次線程讀取數(shù)據(jù)先去工作空間中的數(shù)據(jù),沒有再去主存中取杈帐,取到主存數(shù)據(jù)先工作空間運(yùn)算体箕,完成之后再更新回內(nèi)存

3. 內(nèi)存

屬于程序的獨(dú)立內(nèi)存空間

三、java 虛擬機(jī)內(nèi)存模型

java 虛擬機(jī)模型中包含 方法區(qū)挑童、java堆累铅、vmStack 、PC炮沐、native method stack
其中方法區(qū)在JDK1.8中被移除到內(nèi)存中去了争群,減少了一種內(nèi)存溢出的情況

1. 方法區(qū)

主要存放 class、 method大年、 static修飾的成員變量、 常量玉雾、JIT即時(shí)編譯翔试,線程共享

2. java堆

主要是存放對(duì)象值 ,線程共享

3. VM stack

存放局部變量复旬,對(duì)象引用地址 垦缅,線程獨(dú)有

4. PC

存放線程的下一條指令 線程獨(dú)有

5. native method stack

本地方法棧,調(diào)用一些native方法時(shí)會(huì)用到驹碍,線程獨(dú)有

四壁涎、CPU工作模型

1. 寄存器

指令寄存器凡恍,存放指令等 寄存器除指令寄存器還有很多種

2. 邏輯運(yùn)算單元

主要運(yùn)算邏輯,依靠邏輯運(yùn)算單元來實(shí)現(xiàn)怔球,超線程就是封裝連個(gè)邏輯運(yùn)算單元嚼酝,可以模擬cpu處理兩個(gè)線程

3. L1 L2 L3三級(jí)緩存

一級(jí)緩存在cpu內(nèi)部封裝,一般不會(huì)特別大竟坛,同時(shí)讀取數(shù)據(jù)時(shí)以緩存行讀取
二級(jí)緩存與三級(jí)緩存都是在cpu外部闽巩,速度差異不大
cpu讀取數(shù)據(jù)時(shí)先從一級(jí)緩存中讀取,沒有就讀二級(jí)緩存担汤,再是三級(jí)緩存涎跨,最后是內(nèi)存

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市崭歧,隨后出現(xiàn)的幾起案子隅很,更是在濱河造成了極大的恐慌,老刑警劉巖率碾,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叔营,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡播掷,警方通過查閱死者的電腦和手機(jī)审编,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來歧匈,“玉大人垒酬,你說我怎么就攤上這事〖” “怎么了勘究?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長斟冕。 經(jīng)常有香客問我口糕,道長,這世上最難降的妖魔是什么磕蛇? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任景描,我火速辦了婚禮,結(jié)果婚禮上秀撇,老公的妹妹穿的比我還像新娘超棺。我一直安慰自己,他們只是感情好呵燕,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布棠绘。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪氧苍。 梳的紋絲不亂的頭發(fā)上夜矗,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音让虐,去河邊找鬼紊撕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛澄干,可吹牛的內(nèi)容都是我干的逛揩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼麸俘,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼辩稽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起从媚,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤逞泄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后拜效,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喷众,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年紧憾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了到千。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赴穗,死狀恐怖憔四,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情般眉,我是刑警寧澤了赵,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站甸赃,受9級(jí)特大地震影響柿汛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜埠对,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一络断、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧项玛,春花似錦妓羊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裕循。三九已至臣嚣,卻和暖如春净刮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背硅则。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國打工淹父, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人怎虫。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓暑认,卻偏偏與公主長得像,于是被迫代替她去往敵國和親大审。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蘸际,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容