最近學的知識雜而亂,每天看著《Thinking in java》,可以把基礎打的更扎實昙读,同時也看著尚硅谷的Java視頻教程,雙管齊下膨桥。這是我第一次在簡書上寫東西蛮浑,記錄自己學到的東西,我覺得很好只嚣。今天在課上沮稚,實在過于無聊,便在挪嵛瑁客app上刷Java基礎題蕴掏,有一道題吸引了我的注意!直接貼圖
圖片發(fā)自簡書App
圖片發(fā)自簡書App
這是一道來自于阿里巴巴的面試題调鲸,考察的知識點在于Java的值傳遞與引用傳遞機制盛杰。大家仔細閱讀一下代碼,可能有人會選擇B藐石,包括我剛開始也毫不猶豫的選擇了第二個選項即供,還在紙上畫了內(nèi)存圖。
圖片發(fā)自簡書App
這道題不是說有多難于微,可是我還是做錯了逗嫡,而且前幾天看視頻時講Java的值傳遞機制就是用這道題當例題講解的青自,我得好好反思自己了。當second()方法執(zhí)行完時驱证,里面的局部變量應該釋放了延窜,被jvm的垃圾收集器回收了,所以再回到first()方法里抹锄,輸出的v.i的v應該是first()方法區(qū)中的v對象逆瑞,它指向的i還是等于20,所以最后的結(jié)果為15,0,20伙单。如果大家還有不明白的获高,直接看牛客這道題評論區(qū)里大神畫的內(nèi)存圖吧车份!
圖片發(fā)自簡書App
2018.11.8谋减。? 22:10