呵呵 跟放渣滲虛在前后沒有關系的,
目前創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設、域名、虛擬主機、網(wǎng)站托管、服務器租用、企業(yè)網(wǎng)站設計、紅寺堡網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
你寫這部分代碼叫做 源如燃代碼,計算機執(zhí)行的其實不是源代碼,而是字節(jié)碼。
因此當你執(zhí)行時,計算機要先做處理,把源代碼轉換為字節(jié)碼。
“ 難道java代碼的執(zhí)行順序不是自上而下嗎? 初學,見笑了! ”
java代碼執(zhí)行的確是自上而下,呵呵 但是指的是函數(shù)內(nèi)部代碼,也就是從main函數(shù)的第一句開始執(zhí)行 以此類推 到最后一句 當然了,喊圓有些代碼是執(zhí)行不到的因為有分支結構和循環(huán)結構
比如
if(true)
{
//A
}else
{
//B
}
這里B代碼就執(zhí)行不到
不是類代碼也是自上而下運行的,嘿嘿
我的加不加結果幾乎都是一樣的
object
X
construct
object
X
is
reclaimed
都能打出來,幾乎都是12345,54321的格式打出的。
我加個回車,和不加回車都是這樣子。
還有在main方法結束之后啟源打多一個回車為什么對System.gc()這個函數(shù)有影響?
我認為加歲慎不加回車都java都沒影響。
因為,jvm的垃圾回車機制,是在程序有空閑是會自動調(diào)用,
就算你手動寫了,System.gc();
他也不一定會馬上執(zhí)行。
就好象,
你在叫別人幫你拿東西的時候,
也許他會馬上就拿給你,
也許他現(xiàn)悄雀態(tài)在在忙,等了2分鐘才拿給你
又或者,他剛起身,(還沒拿到),但是他有做其他的事情去了,然后在去拿給你
如果你在main方法多new
幾個Garbage出來,
然后最后不加回車,你運行個幾十次,他的結果,順序可能會有幾次不一樣(就好象上面我舉的列子)
然后你在加上回車,你在運行幾十次,看看。
不管是JSP還action中甚至于其他語言,一般的代碼執(zhí)行順序都是從上至下來執(zhí)行的,否則整個邏輯就會亂掉;
如果你非要改變執(zhí)行順序,只能進行封裝返回租搜處理,比如執(zhí)行了一半的程序,你可以調(diào)用之前封裝好的毀返方法,這個方法執(zhí)行完畢后會繼續(xù)執(zhí)行接下來的代碼;弊余歷