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

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

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

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    對象創建:Java和C++比較

     1、C++創建對象方式

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

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

      這兩種方式在C++中都能完成對象的創建,但是在內存中的處理卻完全不同。

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

    圖1 C++創建對象方式1的內存分配

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

    圖2 C++創建對象方式2的內存分配

      2、Java創建對象方式

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

    1  Dog dog =newDog();

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

    圖3 Java創建對象方式的內存分配

      3、總結

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

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

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


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


    網站導航:
     
    <2013年5月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲乱码中文字幕久久孕妇黑人| 免费国内精品久久久久影院| 亚洲成熟xxxxx电影| 国产99久久久国产精免费| MM131亚洲国产美女久久| 色屁屁在线观看视频免费| 亚洲国产精品自在拍在线播放 | 在线成人爽a毛片免费软件| 亚洲韩国—中文字幕| 最近2019免费中文字幕视频三| 亚洲精品中文字幕乱码影院| 妻子5免费完整高清电视| 亚洲国产精品成人AV在线| 国产成人无码区免费A∨视频网站| 亚洲av日韩av永久在线观看| 亚洲不卡无码av中文字幕| 国产VA免费精品高清在线| 亚洲一区综合在线播放| 成人午夜免费福利| 无码 免费 国产在线观看91| 亚洲性猛交XXXX| 57PAO成人国产永久免费视频| 亚洲色欲色欲www在线播放| 午夜亚洲国产成人不卡在线| 两个人看的www免费视频| 亚洲国产av美女网站| 免费国产高清视频| 国产免费一区二区视频| 中文字幕乱码亚洲无线三区| 亚洲国产成人精品91久久久| 中文字幕天天躁日日躁狠狠躁免费| 国产AV旡码专区亚洲AV苍井空| 免费a级毛片大学生免费观看| 欧洲人免费视频网站在线| 亚洲日韩AV一区二区三区中文 | 亚洲国产精品成人精品软件| 免费国产a国产片高清网站| 久操视频在线免费观看| 亚洲av无码一区二区三区天堂 | 国产精品观看在线亚洲人成网| 国产成人A人亚洲精品无码|