性少妇vide0seⅹfree_国产剧情视频在线观看_日日碰夜夜爽_九九这里只有精品视频_性free毛茸茸偷窥videos_国产v亚洲

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁(yè) > IT資訊 > 軟件研發(fā) > Java開(kāi)發(fā)過(guò)程中的傳參問(wèn)題

Java開(kāi)發(fā)過(guò)程中的傳參問(wèn)題

2017-06-19 17:23:57 | 來(lái)源:中培企業(yè)IT培訓(xùn)網(wǎng)

Java是當(dāng)今互聯(lián)網(wǎng)行業(yè)中的熱門(mén)開(kāi)發(fā)語(yǔ)言,在java中,由于沒(méi)有指針類(lèi)型,其傳參的方式也發(fā)生了相應(yīng)的變化。中培偉業(yè)《企業(yè)級(jí)Java開(kāi)發(fā)最佳實(shí)踐》培訓(xùn)專(zhuān)家李老師指出,java中傳參方式應(yīng)該主要有兩種:傳值和傳引用

一、傳值

所謂的傳值,是指?jìng)鬟fjava原變量的一個(gè)副本。char,int,double等基本數(shù)據(jù)類(lèi)型的變量向函數(shù)傳遞的參數(shù),都是變量的副本都屬于傳值。函數(shù)內(nèi)部不論進(jìn)行任何操作,都不影響變量本身,受到影響的只是變量的副本。

二、傳引用

李老師指出,java中的對(duì)象類(lèi)型從表面上來(lái)看是傳遞的引用,而不是傳遞的值。然而,java中對(duì)象作為實(shí)參,傳遞的實(shí)際上還是值,即java中的傳參傳遞的都是值!為什么會(huì)這么說(shuō)?李老師在這里從jvm的構(gòu)成的角度來(lái)解釋了自己對(duì)這個(gè)問(wèn)題的理解。他在這里介紹了JVM的結(jié)構(gòu):

  三、JVM的結(jié)構(gòu)及相應(yīng)的解釋

Jvm在實(shí)現(xiàn)的時(shí)候?qū)儆谒膬?nèi)存分為五部分,其中程序代碼(嚴(yán)格的說(shuō)應(yīng)當(dāng)是字節(jié)碼)和基本的數(shù)據(jù)類(lèi)型是放在java棧的棧幀中,而對(duì)象是從堆中分配的,堆這個(gè)東西我認(rèn)為可以理解成“對(duì)象池”。程序和程序中需要用到的對(duì)象放在兩個(gè)相對(duì)獨(dú)立的區(qū)域中,那么程序怎么使用對(duì)象呢?實(shí)際上是程序中真正使用對(duì)象的地方其實(shí)只是聲明了一個(gè)對(duì)象的引用,也就是把堆中分配了的相應(yīng)對(duì)象的地址放到引用中,當(dāng)然引用也是放在棧內(nèi)存中,棧和堆之間就是通過(guò)一個(gè)一個(gè)的引用來(lái)聯(lián)系的。至于引用,李老師表示可以把它看做是一個(gè)指針常量,說(shuō)得簡(jiǎn)單一點(diǎn)就是一個(gè)數(shù)值,這個(gè)數(shù)值所表達(dá)的是引用對(duì)象的地址。

所以,不管是基本類(lèi)型變量(int,float,double等)還是對(duì)象,相應(yīng)的內(nèi)存地址中存放的都是一個(gè)數(shù)(無(wú)符號(hào)整數(shù),整數(shù),浮點(diǎn)數(shù)等)。當(dāng)方法調(diào)用時(shí)候,方法的參數(shù)會(huì)占內(nèi)存中開(kāi)辟一塊新的區(qū)域,同時(shí)把要傳遞的基本類(lèi)型,或者引用類(lèi)型名稱(chēng)復(fù)制到這塊內(nèi)存中,結(jié)果是,基本類(lèi)型(存放在占內(nèi)存中的)復(fù)制之后連同其數(shù)值也復(fù)制到了這塊內(nèi)存中,而對(duì)象只是復(fù)制了引用名,實(shí)際還要聯(lián)系到原對(duì)象所在的堆區(qū)域中。

之所以說(shuō)java中傳遞的都是值,是因?yàn)閭鬟f得是內(nèi)存地址中的數(shù),當(dāng)然,這個(gè)值對(duì)于基本類(lèi)型和對(duì)象類(lèi)型來(lái)說(shuō)意義是不一樣的,對(duì)于基本類(lèi)型這個(gè)數(shù)就是其值本身,傳遞值的結(jié)果就是,改變新的變量的值不影響舊的變量的值;而對(duì)于對(duì)象來(lái)說(shuō)這個(gè)數(shù)是它的地址,傳遞這個(gè)值就相當(dāng)于傳遞了真實(shí)對(duì)象的引用,傳遞了引用或者說(shuō)是地址的結(jié)果就是變化會(huì)全局可見(jiàn)。所以說(shuō)java中的方法都是按值調(diào)用的!只不過(guò)基本類(lèi)型和對(duì)象類(lèi)型的"值"的在具體的機(jī)制上作用不同。

綜上,java中不論是基本類(lèi)型還是對(duì)象,方法調(diào)用時(shí),傳遞的都是值!

1.對(duì)于基本類(lèi)型的變量,相當(dāng)于操作其副本。

2.對(duì)于對(duì)象,相當(dāng)于復(fù)制了一個(gè)引用,該引用指向的還是原變量的內(nèi)存區(qū)域。      


標(biāo)簽: Java開(kāi)發(fā)
主站蜘蛛池模板: 水多多凹凸福利视频导航 | 国产高清一级 | 一级毛片中国 | 亚洲精品无码成人片久久不卡 | 成人免费在线网址 | 91麻豆精品91久久久久同性 | 大地资源视频在线观看播放 | 奇米影视7777狠狠狠狠视频 | 99三级| 国产精品自在线拍国产第一页 | 亚洲亚洲精品三区日韩精品在线视频 | 特级无码毛片免费视频播放 | 亚洲国产精品无码7777一线 | 91久热| 欧美乱大交xxxxx胶衣 | 久久国产青偷人人妻潘金莲 | 中文字幕不卡乱偷在线观看 | 国内精品自在自线视频 | 久久久久久久久久久久久久电影 | 精品无码国产自产拍在线观看蜜 | 亚洲午夜福利在线视频 | 精品国产一区二区AV麻豆不卡 | 一本岛在线 | 蜜桃视频一区 | 91福利国产极品美女在线观看 | 成人国产一区二区三区精品 | 国产亚洲精品久久久玫瑰 | 亚洲不卡视频在线观看 | 疯狂做受XXXX国产 | 狠狠操2024| 国产精品入口福利 | 中国女人精xxx20 | 日本大尺度无删减在线观看 | 一级毛片免费全部播放 | 老司机天堂 | 国产成人羞羞视频在线 | 91av在线影院 | 五月天堂色 | 久久午夜电影 | 亚洲男女内射在线播放 | 欧美成三级|