對JAVA簡單的理解

這幾天在看JAVA,圖書館借的一本JAVA開發大全,挺厚的一本,內容很多,但不深。包括JAVA的基本語法、線程編程、桌面程序、主要類庫、以及後面JSP部分。看了5天了,剛把J線程看完。由於之前學過C++,所以前面基礎數據類型,基本語法等等只着重看看JAVA獨特的地方。以下是我個人理解總結的一些JAVA與C/C++不同地方及自己的對JAVA的見解。

  1. JAVA與C++最大的不同在於它完全拋棄了面向過程程序設計,是純種的面嚮對象語言。
  2. JAVA不支持指針,雖然JAVA本身一些實現地方還是隱約有指針的影子。這樣也好,杜絕了內存的非法訪問。
  3. JAVA解釋器在運行時候實施檢查,可以發現數組和字符串等的訪問越界問題,解決C/C++程序員比較頭痛的越界問題。(C/C++數組下標越界、字符串內存溢出等等在編譯時候並不會報錯)
  4. JAVA提供自動垃圾回收機制來盡心內存管理,避免程序員在管理內存時候容易產生的錯誤。這個體現在程序員不需要浪費太多時間在管理內存錯誤。可以有效防範動態內存分配中可能發生的兩個危險:因內存垃圾過多而引發的內存耗盡,以及不恰當的內存釋放所造成的內存非法引用。
  5. JAVA的實現多重繼承與C++不同,JAVA通過內部類以及實現多個接口來實現與C++一樣的多重繼承。C++多重繼承的規格應該算的是相當複雜的,但是JAVA結合自身特點以這樣方式實現多重繼承要比C++更好理解一些。
  6. JAVA的多線程機制:JAVA的多線程機制與C++最大不同是JAVA本身提供了多線程的支持,本身提供了線程的同步機制。而C/C++等語言中,都是利用操作系統的多線程支持庫賴完成多線程的程序設計,線程之間的同步、異步、併發、互斥等,而且控制起來比較麻煩。

.....(待續)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章