五月天堂网_免费看影片_1024手机看毛片_亚洲综合四区_男人的天堂影院_在线亚洲自拍

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 軟件研發(fā) > 淺談對Java中傳參問題的理解

淺談對Java中傳參問題的理解

2017-04-01 17:01:40 | 來源:中培企業(yè)IT培訓網(wǎng)

Java是當今互聯(lián)網(wǎng)行業(yè)中的熱門開發(fā)語言,在java中,由于沒有指針類型,其傳參的方式也發(fā)生了相應的變化。中培偉業(yè)《企業(yè)級JAVA高級開發(fā)技術實戰(zhàn)》培訓專家龔老師根指出,java中傳參方式應該主要有兩種:傳值和傳引用。

一、傳值

java中的傳值即傳遞的是原變量的一個副本?;镜臄?shù)據(jù)類型,如:char,int,double等類型的變量向函數(shù)傳遞的參數(shù),都是變量的副本都屬于傳值。函數(shù)內(nèi)部不論進行任何操作,都不影響變量本身,影響的只是變量的副本。

二、傳引用

從表面上來看,java中的對象類型都是傳遞的引用,而不是傳遞的值。然而,java中對象作為實參,傳遞的實際上還是值,即java中的傳參傳遞的都是值!為什么會這么說?龔老師認為可以從jvm的構成的角度來解釋一下自己對這個問題的理解。接下來我們先看一下JVM的結構:

三、JVM的結構及相應的解釋

Jvm在實現(xiàn)的時候將屬于它的內(nèi)存分為五部分,其中程序代碼(嚴格的說應當是字節(jié)碼)和基本的數(shù)據(jù)類型是放在java棧的棧幀中,而對象是從堆中分配的,堆這個東西龔老師認為可以理解成“對象池”。程序和程序中需要用到的對象放在兩個相對獨立的區(qū)域中,那么程序怎么使用對象呢?實際上是程序中真正使用對象的地方其實只是聲明了一個對象的引用,也就是把堆中分配了的相應對象的地址放到引用中,當然引用也是放在棧內(nèi)存中,棧和堆之間就是通過一個一個的引用來聯(lián)系的。至于引用,我們可以把它看做是一個指針常量,說白了,就是一個數(shù)值,這個數(shù)值所表達的是引用對象的地址。所以,不管是基本類型變量(int,float,double等)還是對象,相應的內(nèi)存地址中存放的都是一個數(shù)(無符號整數(shù),整數(shù),浮點數(shù)等)。當方法調(diào)用時候,方法的參數(shù)會占內(nèi)存中開辟一塊新的區(qū)域,同時把要傳遞的基本類型,或者引用類型名稱復制到這塊內(nèi)存中,結果是,基本類型(存放在占內(nèi)存中的)復制之后連同其數(shù)值也復制到了這塊內(nèi)存中,而對象只是復制了引用名,實際還要聯(lián)系到原對象所在的堆區(qū)域中。

之所以說java中傳遞的都是值,是因為傳遞得是內(nèi)存地址中的數(shù),當然,這個值對于基本類型和對象類型來說意義是不一樣的,對于基本類型這個數(shù)就是其值本身,傳遞值的結果就是,改變新的變量的值不影響舊的變量的值;而對于對象來說這個數(shù)是它的地址,傳遞這個值就相當于傳遞了真實對象的引用,傳遞了引用或者說是地址的結果就是變化會全局可見。所以說java中的方法都是按值調(diào)用的!只不過基本類型和對象類型的"值"的在具體的機制上作用不同。

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

1.對于基本類型的變量,相當于操作其副本。

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


標簽: Java開發(fā)
主站蜘蛛池模板: 国产精品视频一二三 | 一区二区三区观看 | 一色道久久88加勒比一 | 中文字幕日韩精品久久 | 欧美精品一区二区三区视频 | 九歌在线观看 | 青青草国产成人av片免费 | 亚洲影院天堂中文av色 | 黄色一级短视频 | 久草免费在线视频 | 丝袜在线观看 | 亚洲日本欧美在线 | 日本精品www | 夜夜爽天天干 | 国产精品av久久久久久网站 | 91高清免费在线观看 | 精品国产一区二区三区久久久久久 | 狠狠色综合图区 | 中文字幕三区 | 狠狠天堂夜夜夜 | 久草在线香蕉 | 37人体做爰久久久久久 | xxx性护士hd另类 | 99爱国产 | av在线免费网址 | 亚洲精品久久久久AV无码 | "亚洲 国产 日韩 综合一区" | 国产按摩全黄a一级毛片视频 | 黄色片一级毛片 | 日本337p| a站在线 | 超碰美女 | 99中文字幕一区 | 精品国产一区二区三区av性色 | gogogo高清在线怎么开始 | 天堂中文av | 欧美一级特黄色片 | 中国chinesebdsm系列 | 日韩av二区 | 国产亚洲另类久久久精品 | 国产精品一级片 |