拉風(fēng)的咖菲貓
2019-04-25 17:14:14
本人是計算機專業(yè)的學(xué)生,這學(xué)期剛開始接觸Java,老師布置的的作業(yè)中有一道題是:修飾詞native、volatile、transient、synchronized的運用(題目就是這樣布置的)。希望各位大神能用通俗易懂的方法幫助我掌握這些關(guān)鍵字,最好能有簡單易理解的測試程序。小女子不勝感激。詳細(xì)內(nèi)容:http://user.qzone.qq.com/936002518/blog/1413277298
4 回答

吃雞游戲
TA貢獻(xiàn)1829條經(jīng)驗 獲得超7個贊
native
表示定義的是一個java語言和非java語言交互的java基礎(chǔ)方法,要知道java是高級語言,底層和操作系統(tǒng)交互的部分,也就是jvm,都是由和操作系統(tǒng)交互更為直接的c或者c++來實現(xiàn)的,這個東西在實際的java運用中極少使用,除非你需要使用java語言和操作系統(tǒng)交互(比如win32的api)
volatile
一個定義為volatile的變量是說這變量可能會被意想不到地改變,這樣,編譯器就不會去假設(shè)這個變量的值了。精確地說就是,優(yōu)化器在用到這個變量時必須每次都小心地重新讀取這個變量的值,而不是使用保存在寄存器里的備份
transient
這個東西要和java的序列化一起來說,在java對象序列化的時候如果某些對象里面的字段不需要序列化,就定義為transient
synchronized
這個東西要和多線程一起來說了,定義問synchronized表示這個東西只能被一個線程訪問
你們老師太無聊了,剛開始學(xué)java居然要求理解這些東西,我都是搞了好幾年開發(fā)才慢慢理解到這些東西的
添加回答
舉報
0/150
提交
取消