日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java map集合 事务控制_对象回收过程?线程池执行过程? map原理?集合类关系?synchronized 和 volatile ? 同一个类的方法事务传播控制还有作用吗?java 锁...

發(fā)布時(shí)間:2023/12/10 编程问答 24 豆豆

1. ?對(duì)象回收過(guò)程?

可達(dá)性分析算法: 如果一個(gè)對(duì)象從 GC Roots 不可達(dá)時(shí),則證明此對(duì)象不可用。 通過(guò)一系列稱(chēng)為GC ROOTS的對(duì)象作為起點(diǎn),從這些起點(diǎn)往下搜索,搜索走過(guò)的路徑

稱(chēng)為引用鏈,當(dāng)一個(gè)對(duì)象到GC ROOTS 沒(méi)有任何引用鏈,我們判定這個(gè)對(duì)象是可回收的。。

在java 中,可作用GC ROOTS對(duì)象的包括:

虛擬機(jī)棧(棧針中本地變量表)中引用的對(duì)象,

方法區(qū)中類(lèi)靜態(tài)屬性引用的對(duì)象,

方法區(qū)中常量引用的對(duì)象,

本地方法棧中即native 引用的對(duì)象。。

具體過(guò)程: ?在對(duì)象不可達(dá)時(shí),也并不是非死不可,要真正宣告一個(gè)對(duì)象死亡,需要進(jìn)行兩次標(biāo)記過(guò)程: 如果一個(gè)對(duì)象在進(jìn)行可達(dá)性分析后沒(méi)有與GC ROOTS 的相連接的

引用鏈,那將會(huì)被第一次標(biāo)記并進(jìn)行一次篩選: 篩選的目的是判定是否執(zhí)行finalize方法,當(dāng)對(duì)象沒(méi)有覆蓋finalize 方法,或者finalize 方法已經(jīng)被虛擬機(jī)

調(diào)用過(guò),虛擬機(jī)認(rèn)定這兩種情況為不必要執(zhí)行finalize方法。

如果需要執(zhí)行finalize方法,那么這個(gè)對(duì)象將會(huì)放置在一個(gè)F-Queue 隊(duì)列中,并在稍后建立一個(gè)低優(yōu)先級(jí)的線程來(lái)執(zhí)行它。 finalize 方法是對(duì)象逃離死亡的

最后機(jī)會(huì),在執(zhí)行finalize 方法時(shí)會(huì)對(duì)F-Queue中的對(duì)象進(jìn)行第二次標(biāo)記,如果對(duì)象在finalize 方法中成功拯救自己(如把this賦值給某個(gè)變量,總之就是讓

對(duì)象出現(xiàn)引用鏈),則講該對(duì)象移出隊(duì)列。剩下的對(duì)象就只能等待被回收了。

5. ?synchronized 和 volatile

volatile 修飾的變量對(duì)所有線程具有可見(jiàn)性 , 意思是如果一個(gè)線程修改了 該變量,另一個(gè)線程可以立即獲得修改后的新值。但是這個(gè)并不是原子性的,在并發(fā)

情況下并不是安全的:原因是多個(gè)線程在做運(yùn)算前獲取的可能是臟數(shù)據(jù),如何 變量++ 操作,先獲取變量值,然后+1, 多個(gè)線程獲取的是臟數(shù)據(jù)。

volatile 禁止指令重排序優(yōu)化:指令重排是指java 編譯成機(jī)器碼時(shí)會(huì)優(yōu)化語(yǔ)句執(zhí)行順序。 如線程A在執(zhí)行某些操作后把某個(gè)變量賦值true, 另一個(gè)線程判斷true 做一些操作,

指令重排后可能到指線程A 在某些操作 完成之前就把 變量賦值true了。。導(dǎo)致線程B判斷true后并不能獲取正確的結(jié)果(比如我要獲取線程A的某些操作結(jié)果)

總結(jié)

以上是生活随笔為你收集整理的java map集合 事务控制_对象回收过程?线程池执行过程? map原理?集合类关系?synchronized 和 volatile ? 同一个类的方法事务传播控制还有作用吗?java 锁...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。