今天小編給大家分享的是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ì)象不能改。
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í)沒(méi)有實(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ì)使用上面的不同還得要大家自己使用過(guò)才領(lǐng)會(huì)。如果想了解更多,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道哦!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。