java相對於c和c++在內存管理上怎樣提高了開發效率

java語言相對於c和c++而言,提高了開發者的開發效率,主要得益於java對於內存的管理:


1、java中沒有通過使用強制轉換指針類型或者通過進行指針運算訪問內存的方法
2、java使用對象嚴格遵守類型規則;如果存在一個mountain類型的對象引用,它只能作爲mountain對象來使用,不能作爲其他對象來操作;將這個引用轉換成別的類型也是可以的,但是
只有在此對象的確爲這種新類型的情況下才可以;例如:animal類型的對象引用,可以強制轉換爲dog類型(一種特殊的animal類型);由於java不會以可能導致內存衝突的方式管理
內存,因此java中很少出現c++中的降低程序員效率的bug
3、java避免無意間破壞內存的另一個方法是自動垃圾收集,java和c++都有new方法爲新對象在堆中分配內存,但是java中沒有delete操作清除不再需要的對象,c++中需要deleted操作刪 除不需要的對象,java中只要停止對象的引用,一段時間後,垃圾收集器會自動回收對象佔用的內存。c++的對象引用由程序員決定是否清除,如果不再使用而沒有被釋放 會導致內存泄漏,重複釋放會導致內存衝突,從而導致程序崩潰。java在垃圾收集上沒有糾纏不清,程序員不再爲顯式釋放內存擔心,從而提高了效率。


4、數組邊界檢查:java不允許數組超出邊界 從而引發內存衝突。


5、對對象引用的空值檢查:java不允許對象引用爲空值,c++使用空指針 會導致程序崩潰,java的操作對象爲空值 只會拋出異常,而程序不會崩潰;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章