成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 后端
Java和C++都是面向對象的編程語言,然而Java和C++在創建對象時卻存在不同的方式,由于方式的不同導致在內存中管理的不同。

1、C++創建對象方式 

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

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

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

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

  

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

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

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

2、Java創建對象方式  

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

  1. Dog dog = new Dog(); 

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

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

3、總結

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

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

原文鏈接:http://www.cnblogs.com/1Q84mi/archive/2013/05/15/3080716.html

責任編輯:陳四芳 來源: 博客園
相關推薦

2010-02-04 17:05:53

C++動態創建對象

2009-08-12 18:16:47

C#類型比較

2011-12-25 15:35:05

ibmdwJavaC++

2010-01-25 09:57:39

C++函數參數

2009-08-11 13:13:09

C#和Java比較

2009-08-11 14:57:11

比較C#和Java

2011-07-20 17:23:29

C++持久對象

2010-02-03 14:18:44

2016-04-13 11:05:02

C++引用匿名對象

2010-01-25 09:50:58

C++函數對象

2010-01-25 14:18:46

C++對象模型

2011-06-21 15:00:07

JAVAC++

2011-04-06 08:57:07

C++java多態

2009-08-10 13:40:46

創建C# COM對象

2009-04-10 13:57:50

C#C++Java

2010-02-03 14:30:04

C++棧對象

2010-01-27 10:13:22

C++類對象

2010-02-06 10:50:10

C++統計對象個數

2021-02-26 10:41:59

C++程序員代碼

2011-05-18 18:05:47

C#C++
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 另类a v| 久草在线在线精品观看 | 日日操视频 | 九九热九九 | 激情六月丁香 | 婷婷开心激情综合五月天 | 久久在线| 亚洲风情在线观看 | 91玖玖 | 99精品久久久久久 | 美国a级毛片免费视频 | 亚洲福利网站 | 国产精品免费一区二区三区四区 | 精品欧美一区二区精品久久久 | 中文字幕在线免费观看 | 中文字幕一区二区三区不卡 | 国产精品国产亚洲精品看不卡15 | 成人激情免费视频 | 精品亚洲一区二区三区四区五区高 | 国产精品毛片一区二区三区 | 91超碰caoporn97人人 | 成人高清在线 | 久操亚洲 | 国产欧美精品在线观看 | 欧美成人一区二区三区片免费 | 国产一区免费 | 久久成人免费 | 热久久久 | 99一级毛片 | 国产激情一区二区三区 | 在线一级片| 岛国av免费观看 | 成人性生交大片免费看r链接 | 国产欧美一区二区三区国产幕精品 | 国产精品中文字幕在线观看 | 超碰在线人人 | 久久久精品一区二区三区 | 午夜影院在线观看 | 国产一区二区三区免费 | 青青激情网 | 国产一区二区三区在线看 |