會(huì)放棄CPU資源,鎖資源不會(huì)放棄的。但是當(dāng)同步代碼執(zhí)行完畢,資源鎖自然就釋放了。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供湘鄉(xiāng)網(wǎng)站建設(shè)、湘鄉(xiāng)做網(wǎng)站、湘鄉(xiāng)網(wǎng)站設(shè)計(jì)、湘鄉(xiāng)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、湘鄉(xiāng)企業(yè)網(wǎng)站模板建站服務(wù),十載湘鄉(xiāng)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
比如說:這樣一段代碼,同時(shí)有多個(gè)線程在阻塞等待欲執(zhí)行這個(gè)同步方法
synchronized
public
boolean
print(Integer
com)
{
long
iii
=
100000000;
if(com!=flag)
{
Thread.yield();//直接放棄Cpu資源
while
(iii--0);
}
else
{
..............
}
.........return
false;.
}
假如yield會(huì)立即釋放對(duì)象監(jiān)視器,那么while(iii--)幾乎就不執(zhí)行了,但是實(shí)際情況是while(iii--)會(huì)從100000000變成0,也就是說不會(huì)立即釋放鎖資源。(但是這個(gè)方法,從某種角度,會(huì)加速釋放鎖資源,僅個(gè)人見解)
在Java中對(duì)資源的讀寫最后要進(jìn)行close操作,以下是2種釋放資源處理方式:
第1種:把close()放在try中。
try {
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(
"out.txt", true)));
pw.println("This is a test.");
pw.close();
} catch (IOException e) {
e.printStackTrace();
第3種:使用try-with-resource語(yǔ)句。
try (PrintWriter pw = new PrintWriter(
new BufferedWriter(
new FileWriter("out.txt", true)))) {
pw.println("This is a test.");
} catch (IOException e) {
e.printStackTrace();
無(wú)論是否有異常發(fā)生close()方法都應(yīng)該被調(diào)用,因此close()應(yīng)放在finally中。而從Java?7開始,可以使用try-with-resource語(yǔ)句。
C--B--A
先關(guān)閉結(jié)果集,在關(guān)閉Statement,最后關(guān)閉鏈接
釋放資源的代碼一般寫在try catch finally 的 finally塊中
1樓: JAVA的垃圾回收機(jī)智是自動(dòng)的,但是有些資源是自動(dòng)回收不了的。不然在J2eeK開發(fā)中,對(duì)數(shù)據(jù)庫(kù)操作時(shí)為什么要手動(dòng)關(guān)閉Connection,PreparedStatement,ResultSet這3個(gè)對(duì)象呢?你說是吧。 然后回樓主: 強(qiáng)制垃圾回收(釋放資源): System.gc();
網(wǎng)頁(yè)題目:java釋放資源代碼 java釋放內(nèi)存的方法
本文鏈接:http://chinadenli.net/article18/dojosgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、企業(yè)建站、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站導(dǎo)航、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)