不會JAVA就這麼辦吧

Java的學習是比較複雜的,主要表現在相關的一系列平臺、規範和協議上。有經驗的Java程序員都知道,只掌握了Java語言本身很難開發應用程序。本文不討論這些複雜的概念,而是我是在北京參加的培訓,現在從初學者的角度,對於Java語言本身的學習提出自己的見解和建議。本文的討論基於以下假設:

1. 學習的目的是爲了將來進行應用程序的開發,而不是進行語言理論研究

2. 將來的應用開發是在成熟的平臺上展開,而不是自己從底層開發平臺

 一、掌握靜態方法和屬性

靜態方法和屬性用於描述某一類對象羣體的特徵,而不是單個對象的特徵。java中大量應用了靜態方法和屬性,這是一個通常的技巧。但是這種技巧在很多語言中不被頻繁地使用。理解靜態方法和屬性對於理解類與對象的關係是十分有幫助的,在大量的java規範中,靜態方法和屬性被頻繁使用。因此學習者應該理解靜態方法和屬性。Java在方法和屬性的調用上是一致的,區別只表現在聲明的時候,這和c++是不同的。

 二、重視接口

在面向對象早期的應用中大量使用了類繼承。隨着軟件工程理論的不斷髮展,人們開始意識到了繼承的衆多缺點,開始努力用聚合代替繼承。軟件工程解決擴展性的重要原則就是抽象描述,直接使用的工具就是接口。接口近年來逐漸成爲java編程方法的核心。另一方面,就應用而言,大部分開發是建立在規範基礎之上的,不需要自己建立複雜的繼承關係和龐大的類。因此讀懂規範和用好規範已經成爲應用程序開發人員的首要任務,Java各項規範的主要描述手段就是接口。

 三、學好集合框架

java描述複雜數據結構的主要方式是集合框架。Java沒有指針,而是通過強大的集合框架描述數組、對象數組等複雜的數據結構。學好這些數據結構的描述方法對於應用程序編寫,特別是涉及到服務器方、3層結構編程至關重要。程序員在這個時候不能再用諸如數據庫結果集之類的結構描述數據了。

由於很多語言沒有這麼強大的集合框架體系,很多初學者不知所措,更不知道拿來做什麼用,因此應該引起足夠的重視。

 四、例外捕捉

java對例外捕捉的強調是空前的,它強迫程序員用顯著的與邏輯方法完全不同的方式描述例外捕捉,對於程序描述的完整性和嚴謹性有很大的意義。c++也有類似的機制,但是我們看到很多c++程序員並不習慣使用這些機制。
Java的初學者應該充分學習好這種例外捕捉機制,養成良好的編程習慣。

 五、多線程需要理解機理

很多java程序員熱衷於多線程程序編寫,認爲是對邏輯能力的挑戰。其實在大量應用中根本就不需要編寫多線程程序,或者說大多數編寫應用程序的程序員不會去寫多線程程序。這是因爲多線程機制都內置到基礎平臺當中了。
程序員應該瞭解的是多線程原理和多線程安全,這對於今後準確地把握程序是至關重要的。

例如JSP中編寫到不同的位置對於多個用戶環境的安全影響完全不同,又如著名的Super Servlet是每一個訪問作爲一個進程,但是每一個頁面是一個線程,和Servlet正好相反,對程序的性能和安全的影響有天壤之別。

 六、瞭解網絡編程

java號稱是最強的網絡編程語言,但是大多數應用程序開發人員是從來不會自己開發什麼底層的網絡程序的。需要做只是瞭解原理就夠了。網絡機制的實現是靠平臺實現的,除非自己開發平臺,否則是不需要知道socket怎麼實現,怎麼監聽訪問的。因此在這方面花太多的功夫就偏離了“將來的應用開發是在成熟的平臺上展開,而不是自己從底層開發平臺”這一假設。

發佈了30 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章