<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

    對象創(chuàng)建:Java和C++比較

     1、C++創(chuàng)建對象方式

      在C++中我們可以采用如下兩種方式來創(chuàng)建對象,

    1  Dog  dog;//Dog為類名
    2  Dog *p =newDog();

      這兩種方式在C++中都能完成對象的創(chuàng)建,但是在內(nèi)存中的處理卻完全不同。

      對于第一種方式而言,dog是被存儲在棧中的,占用的大小是Dog類中成員變量占用內(nèi)存的和,此處不包括成員方法,因為成員方法是存放在公共存儲區(qū)以便所有該類的對象都可以訪問的。

    圖1 C++創(chuàng)建對象方式1的內(nèi)存分配

      對于第二種方式則不同,該方式使用了指針,在定義*p時在棧中開辟一個4字節(jié)的空間,new Dog()時在堆中開辟一塊空間,然后將該空間的首地址賦值給*p,這樣,通過*p就可以找到對象在堆中的任何成員方法了。

    圖2 C++創(chuàng)建對象方式2的內(nèi)存分配

      2、Java創(chuàng)建對象方式

      在C++中我們有兩種創(chuàng)建對象的方式,而在Java中只提供了如下的一種方式,

    1  Dog dog =newDog();

      JVM在進(jìn)行內(nèi)存管理時,首先會在棧中給dog分配一個空間,當(dāng)new Dog();后會在堆中開辟對象的實際空間,然后將dog指向堆中的空間,這樣我們就可以方法對象的成員變量了。

    圖3 Java創(chuàng)建對象方式的內(nèi)存分配

      3、總結(jié)

      通過圖2和圖3我們會發(fā)現(xiàn)Java創(chuàng)建對象的方式和C++創(chuàng)建對象方式的第二種很像,除了我故意寫的p和dog還有數(shù)字,其他的都是一樣的。是這樣的,他們的確很像,但是卻不完全相同,在C++中p是一個指針,通過指針我們可以訪問內(nèi)存中的任何地址,可以肆意的對內(nèi)存做處理,然而在Java中 dog是一個引用,可以理解成是C++中指針的一個封裝,我們不可以想在C++中用指針那樣在Java中直接的進(jìn)行地址++操作,這樣一來就保證了內(nèi)存的安全,這是C++和Java的很大不同。

      本人文字功底極弱,若有描述不清或不當(dāng)之處,望大家指正,感謝各位花費時間閱讀完畢。

    posted on 2013-05-31 10:34 順其自然EVO 閱讀(180) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2013年5月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 69天堂人成无码麻豆免费视频| 亚洲黄色三级网站| 国产青草亚洲香蕉精品久久| 在线免费观看色片| 国产成人精品免费视频大全五级| 国产猛烈高潮尖叫视频免费| 亚洲AV无码一区二区三区人 | 成年网在线观看免费观看网址| 国产免费私拍一区二区三区| 亚洲男人的天堂www| 日本免费A级毛一片| 亚洲国产精品国自产电影| 最近2019中文字幕免费大全5| 国产亚洲情侣一区二区无码AV | 亚洲精品中文字幕乱码影院| 美女被cao免费看在线看网站| 亚洲人成图片网站| 久久成人免费大片| 亚洲精品在线不卡| 免费无码又爽又高潮视频| 亚洲黄色片在线观看| 国内精品乱码卡1卡2卡3免费 | 国产麻豆免费观看91| 亚洲男人天堂av| 国产成人精品免费视频动漫| 亚洲愉拍一区二区三区| 亚洲国产精品一区二区第一页免| 中国毛片免费观看| 亚洲国产综合精品中文字幕 | 免费人妻精品一区二区三区| 女性自慰aⅴ片高清免费| 免费人成大片在线观看播放电影| 亚洲精品无码精品mV在线观看| 麻豆国产精品免费视频| 黄色a级免费网站| 亚洲系列中文字幕| 亚洲国产成人久久一区久久| 最近免费中文在线视频| 亚洲美女视频免费| 亚洲AV无码乱码在线观看| 无人在线观看免费高清|