8.2?Synchronized受扳、Volatile

volatile

保證變量在多個(gè)線(xiàn)程之間可見(jiàn).

保證可見(jiàn)性的方法:

volatile

synchronized 重量級(jí)的鎖鞋真,

final.

指令重排:a=1; b=2;

有序性

線(xiàn)程內(nèi)串行語(yǔ)義:

寫(xiě)后讀 a=1均函,b=a螟凭;寫(xiě)一個(gè)變量后 在讀取這個(gè)變量

寫(xiě)后寫(xiě) a=1虚青,a=2;

讀后寫(xiě) a=b螺男,b=1棒厘;

怎么保證有序性.

Trace跟蹤參數(shù):

-verbose:gc 打印GC日志的

-XX:+PrintGCDetails 打印日志的詳細(xì)信息

-Xloggc:d:/gc.log 打印日志的路徑

-XX:+PrintHeapAtGC 發(fā)生GC的時(shí)候,是否要重新打印堆的信息

-XX:+TraceClassLoading 類(lèi)加載的軌跡下隧。 先加載rt.jar,最后加載自己應(yīng)用的ClassLoader

Heap內(nèi)存分配參數(shù):

-Xmx 堆的最大值奢人。 -Xmx20m

-Xms 堆可分配的最小值。 -Xms5m

Heap Memory 是如何分配的汪拥?

案例

-Xmn 新生代的大小 eden+2s达传。

-XX:NewRatio 新生代(eden+2s)/老年代篙耗。1/4

-XX:SurvivorRatio 幸存區(qū)的比例迫筑。2s/eden。

案例及GC變化

只要沒(méi)有一塊連續(xù)的空間存儲(chǔ)1MB宗弯,則會(huì)發(fā)生GC脯燃。

GC 表示發(fā)生GC的類(lèi)型 GC|FULLGC。

FULLGC: stop the world蒙保,把所有的用戶(hù)線(xiàn)程停止辕棚。

PSYoungGen:年輕代收集器。

11279K->1528K(13824K)

gc前該內(nèi)存區(qū)域(年輕代)已經(jīng)使用的內(nèi)存->gc后該內(nèi)存區(qū)域已使用的容量(該內(nèi)存區(qū)域總內(nèi)存)邓厕。

JVM內(nèi)存回收:

1.標(biāo)記-清除算法

(1)標(biāo)記階段逝嚎,從根節(jié)點(diǎn)不可達(dá)的對(duì)象做標(biāo)記。

(2)清除階段详恼。清除

(3)優(yōu)點(diǎn):清除特別快

(3)缺點(diǎn):導(dǎo)致內(nèi)存不連續(xù)补君,會(huì)產(chǎn)生碎片。

2.復(fù)制算法

為了優(yōu)化標(biāo)記清除算法產(chǎn)生的碎片昧互。

原理:

優(yōu)缺點(diǎn):不會(huì)產(chǎn)生內(nèi)存碎片

GC挽铁,F(xiàn)ULL GC 就是使用的復(fù)制算法

3.標(biāo)記整理算法

讓存活的對(duì)象向一端移動(dòng)。直接清理到這個(gè)邊界之后的所有對(duì)象敞掘。不會(huì)產(chǎn)生碎片叽掘。

缺點(diǎn):

分代收集算法

分代思想

新生代(空間大)可以用復(fù)制算法;老年代(不容易死的對(duì)象)玖雁,因?yàn)榭臻g小更扁,所以用標(biāo)記清除算法或標(biāo)記整理算法。

JVM垃圾收集器:

..........年輕代.............................

Serial:串行收集器.stop the world,會(huì)導(dǎo)致服務(wù)(例如線(xiàn)程)停頓浓镜。使用的是 新生代是(復(fù)制算法)老年代是(標(biāo)記整理算法)赊堪。

串行收集器:一個(gè)是用戶(hù)線(xiàn)程,一個(gè)是GC線(xiàn)程竖哩,一旦GC垃圾回收哭廉,用戶(hù)線(xiàn)程必須暫停。

ParNew:并行收集器.多個(gè)GC線(xiàn)程可以并行執(zhí)行相叁。也會(huì)發(fā)生stop the world遵绰。

新生代使用并行收集器,老年代使用串行收集器增淹。

Parallel:

Parallel Scavenge:(基本滿(mǎn)足需求)并行收集器:專(zhuān)門(mén)對(duì)于新生代的收集器椿访。多線(xiàn)程的,使用復(fù)制算法虑润,更加關(guān)注吞吐量成玫,減少stop the world的時(shí)間,減少GC的時(shí)間拳喻。

...........老年代...........................

Serial Old:老年代的串行收集器哭当,

Parallel Old:老年代的并行處理器,

CMS:真正意義上的并發(fā)收集器

并發(fā):用戶(hù)線(xiàn)程和GC線(xiàn)程可以同時(shí)執(zhí)行,如果發(fā)生GC冗澈,用戶(hù)線(xiàn)程依然可以執(zhí)行钦勘。

并行:用戶(hù)線(xiàn)程和GC線(xiàn)程可以同時(shí)執(zhí)行,如果發(fā)生GC亚亲,用戶(hù)線(xiàn)程會(huì)暫停彻采。

G1:可以設(shè)置GC的時(shí)間.

分代收集是如何組合的?

新生代:Serial, ParNew, Parallel Scavenge

老年代:Serial Old, Parallel Old, CMS

圖片發(fā)自簡(jiǎn)書(shū)App
?著作權(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)離奇詭異门扇,居然都是意外死亡雹有,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)臼寄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)霸奕,“玉大人,你說(shuō)我怎么就攤上這事吉拳≈仕В” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)煤惩。 經(jīng)常有香客問(wèn)我嫉嘀,道長(zhǎng),這世上最難降的妖魔是什么魄揉? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任剪侮,我火速辦了婚禮,結(jié)果婚禮上洛退,老公的妹妹穿的比我還像新娘瓣俯。我一直安慰自己,他們只是感情好兵怯,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布彩匕。 她就那樣靜靜地躺著,像睡著了一般媒区。 火紅的嫁衣襯著肌膚如雪驼仪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天袜漩,我揣著相機(jī)與錄音绪爸,去河邊找鬼。 笑死噪服,一個(gè)胖子當(dāng)著我的面吹牛毡泻,可吹牛的內(nèi)容都是我干的胜茧。 我是一名探鬼主播粘优,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼呻顽!你這毒婦竟也來(lái)了雹顺?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤廊遍,失蹤者是張志新(化名)和其女友劉穎嬉愧,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體喉前,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡没酣,尸身上長(zhǎng)有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
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望俐东。 院中可真熱鬧鸳碧,春花似錦、人聲如沸犬性。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)乒裆。三九已至套利,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鹤耍,已是汗流浹背肉迫。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留稿黄,地道東北人喊衫。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像杆怕,于是被迫代替她去往敵國(guó)和親族购。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

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

  • 一. 垃圾回收的意義 在C++中陵珍,對(duì)象所占的內(nèi)存在程序結(jié)束運(yùn)行之前一直被占用寝杖,在明確釋放之前不能分配給其它對(duì)...
    Stan_Z閱讀 1,938評(píng)論 0 25
  • 作者:一字馬胡 轉(zhuǎn)載標(biāo)志 【2017-11-12】 更新日志 日期更新內(nèi)容備注 2017-11-12新建文章初版 ...
    beneke閱讀 2,211評(píng)論 0 7
  • JVM架構(gòu) 當(dāng)一個(gè)程序啟動(dòng)之前,它的class會(huì)被類(lèi)裝載器裝入方法區(qū)(Permanent區(qū))互纯,執(zhí)行引擎讀取方法區(qū)的...
    cocohaifang閱讀 1,673評(píng)論 0 7
  • 有消息稱(chēng)蘋(píng)果于九月份發(fā)布的iphone7智能手機(jī)將降低售價(jià)留潦,然而這一舉動(dòng)卻并沒(méi)有獲得業(yè)內(nèi)和用戶(hù)的看好只盹,所謂上市發(fā)布...
    耿彪閱讀 239評(píng)論 0 1
  • 你總說(shuō)我不溫柔,一言不合就急火冒頭兔院,劈頭蓋臉如炮火出擊殖卑,你先是爭(zhēng)論喋喋不休,如今卻已黯然認(rèn)輸秆乳。 你總說(shuō)我不溫柔懦鼠,聲...
    悄安閱讀 349評(píng)論 0 0