北大青鳥課程:JAVA與C/C++的區(qū)別

      很多同學(xué)在學(xué)習(xí)北大青鳥課程時都會問到,,Java與C/C++作為編程語言的兩大巨頭,他們有什么區(qū)別呢?下面,讓北京北大青鳥學(xué)校學(xué)術(shù)部老師為大家做一個詳細的總結(jié):

      Java與C/C++有什么區(qū)別Java中對內(nèi)存的分配是動態(tài)的,它采用面向?qū)ο蟮臋C制,采用運算符new為每個對象分配內(nèi)存空間,而且,實際內(nèi)存還會隨程序運行情況而改變。程序運行中,每個Java系統(tǒng)自動對內(nèi)存進行掃描,對長期不用的空間作為”垃圾”進行收集,使得系統(tǒng)資源得到更充分地利用。按照這種機制,程序員不必關(guān)注內(nèi)存管理問題,這使Java程序的編寫變得簡單明了,并且避免了了由于內(nèi)存管理方面的差錯而導(dǎo)致系統(tǒng)出問題。

      而C語言通過malloc()和free()這兩個庫函數(shù)來分別實現(xiàn)分配內(nèi)在和釋放內(nèi)存空間的,C++語言中則通過運算符new和delete來分配和釋放內(nèi)存。在C和C++這仲機制中,程序員必須非常仔細地處理內(nèi)存的使用問題。一方面,如果對己釋放的內(nèi)存再作釋放或者對未曾分配的內(nèi)存作釋放,都會造成死機;而另一方面,如果對長期不用的或不再使用的內(nèi)存不釋放,則會浪費系統(tǒng)資源,甚至因此造成資源枯竭。

      Java不在所有類之外定義全局變量,而是在某個類中定義一種公用靜態(tài)的變量來完成全局變量的功能。

      Java不用goto語句,而是用try-catch-finally異常處理語句來代替goto語句處理出錯的功能。

      Java不支持頭文件,面C和C++語言中都用頭文件來定義類的原型,全局變量,庫函數(shù)等,這種采用頭文件的結(jié)構(gòu)使得系統(tǒng)的運行維護相當(dāng)繁雜。

      Java不支持宏定義,而是使用關(guān)鍵字final來定義常量,在C++中則采用宏定義來實現(xiàn)常量定義,這不得于程序的可讀性。

      Java對每種數(shù)據(jù)類型都分配固定長度。比如,在Java中,int類型總是32位的,而在C和C++中,對于不同的平臺,同一個數(shù)據(jù)類型分配不同的字節(jié)數(shù),同樣是int類型,在PC機中為二字節(jié)即16位,而在VAX-11中,則為32位。這使得C語言造成不可移植性,而Java則具有跨平臺性(平臺無關(guān)性)。

      類型轉(zhuǎn)換不同。在C和C++中,可通過指針進行任意的類型轉(zhuǎn)換,常常帶來不安全性,而在Java中,運行時系統(tǒng)對對象的處理要進行類型相容性檢查,以防止不安全的轉(zhuǎn)換。(北京北大青鳥學(xué)校)

      結(jié)構(gòu)和聯(lián)合的處理。在C和C++中,結(jié)構(gòu)和聯(lián)合的所有成員均為公有,這就帶來了安全性問題,而在Java中根本就不包含結(jié)構(gòu)和聯(lián)合,所有的內(nèi)容都封裝在類里面

      Java不再使用指針。指針是C/C++中最靈活,也最容易產(chǎn)生錯誤的數(shù)據(jù)類型。由指針?biāo)M行的內(nèi)存地址操作常會造成不可預(yù)知的錯誤,同時通過指針對某個內(nèi)存地址進行顯式類型轉(zhuǎn)換后,可以訪問一個C++中的私有成員,從而破壞安全性。而Java對指針進行完全地控制,程序員不能直接進行任何指針操作。

      北京北大青鳥學(xué)校提供

      北大青鳥網(wǎng)上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 亚洲一区二区三区在线网站| 日韩一区二区视频| 亚洲av色香蕉一区二区三区蜜桃| 日韩在线视频一区二区三区| 国产午夜精品一区二区| 在线日韩麻豆一区| 中文字幕日韩欧美一区二区三区| 亚洲码一区二区三区| 国内偷窥一区二区三区视频| 国产不卡视频一区二区三区| 精品一区二区三区3d动漫| 国精产品999一区二区三区有限| 无码国产精品一区二区免费3p| 少妇人妻偷人精品一区二区| 免费无码一区二区| 波多野结衣在线观看一区| 韩国精品一区视频在线播放| 国产对白精品刺激一区二区 | 亚洲AV日韩AV一区二区三曲| 亚洲一区精品中文字幕| 中文字幕精品亚洲无线码一区| 亚洲国产专区一区| 久久久久国产一区二区| 人妻少妇AV无码一区二区| 夜夜嗨AV一区二区三区| 国产一区二区在线看| 无码精品人妻一区二区三区中| 久久综合精品不卡一区二区| 无码一区二区三区免费| 亚洲香蕉久久一区二区 | 久久精品国产亚洲一区二区三区| 国产精品一区12p| 丰满少妇内射一区| 亚洲国产韩国一区二区| 久久精品国内一区二区三区| 日韩精品一区二区三区不卡| 久久se精品一区精品二区国产| 亚洲AV日韩AV天堂一区二区三区| 国产福利一区二区三区在线视频| 亚洲av无码片vr一区二区三区| 夜色阁亚洲一区二区三区|