溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java引用與C指針有什么區(qū)別

發(fā)布時(shí)間:2020-05-06 10:15:40 來源:億速云 閱讀:429 作者:小新 欄目:編程語言

今天小編給大家分享的是Java引用與C指針有什么區(qū)別,相信很多人都不太了解,為了讓大家更加了解,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。

Java引用與C指針的區(qū)別如下:

1、現(xiàn)象

指針在運(yùn)行時(shí)可以改變其所指向的值(地址)即指向其它變量,而引用一旦和某個(gè)對(duì)象綁定后就不能再改變,總是指向最初的對(duì)象。

2、編譯

程序在編譯時(shí)分別將指針和引用添加到符號(hào)表上,符號(hào)表上記錄的是變量名以及變量所對(duì)應(yīng)的地址。

指針變量在符號(hào)表上對(duì)應(yīng)的地址值為指針變量的地址值,而引用在符號(hào)表上對(duì)應(yīng)的地址值為引用對(duì)象的地址值。符號(hào)表生成后就不會(huì)再改,因此指針可以改變,因此指針可以改變指向的對(duì)象(指針變量中的值可以改),而引用對(duì)象不能改。

Java引用與C指針有什么區(qū)別

3、類型

引用其值為地址的數(shù)據(jù)元素,Java封裝了的地址,可以轉(zhuǎn)成字符串查看,長(zhǎng)度可以不必關(guān)心,C指針是一個(gè)裝地址的變量,長(zhǎng)度一般是計(jì)算機(jī)字長(zhǎng),可以認(rèn)為是個(gè)int

4、內(nèi)存占用

所占內(nèi)存:引用聲明時(shí)沒有實(shí)體,不占空間,C指針如果聲明后會(huì)用到才會(huì)賦值,如果用不到不會(huì)分配內(nèi)存

5、內(nèi)存溢出

java引用的使用權(quán)限比較小,不會(huì)產(chǎn)生內(nèi)存溢出。C指針是容易產(chǎn)生內(nèi)存溢出的,所以程序員需小心使用、及時(shí)回收。

以上就是Java引用與C指針有什么區(qū)別的簡(jiǎn)略介紹,當(dāng)然詳細(xì)使用上面的不同還得要大家自己使用過才領(lǐng)會(huì)。如果想了解更多,歡迎關(guān)注億速云行業(yè)資訊頻道哦!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI