Java的學習是比較復雜的糯彬,主要表現(xiàn)在相關(guān)的一系列平臺、規(guī)范和協(xié)議上葱她。有經(jīng)驗的Java程序員都知道撩扒,只掌握了Java語言本身很難開發(fā)應用程序。本文從初學者的角度览效,對于Java語言本身的學習提出自己的見解和建議却舀。
首先我們需要明白java學習的目的是為了將來進行應用程序的開發(fā),而不是單純進行語言理論研究锤灿,再就是將來的應用開發(fā)是在成熟的平臺上展開挽拔,而不是自己從底層開發(fā)平臺。
一但校、掌握靜態(tài)方法和屬性
靜態(tài)方法和屬性用于描述某一類對象群體的特征螃诅,而不是單個對象的特征。java中大量應用了靜態(tài)方法和屬性状囱,這是一個通常的技巧术裸。但是這種技巧在很多語言中不被頻繁地使用。理解靜態(tài)方法和屬性對于理解類與對象的關(guān)系是十分有幫助的亭枷,在大量的java規(guī)范中袭艺,靜態(tài)方法和屬性被頻繁使用。因此學習者應該理解靜態(tài)方法和屬性叨粘。
二猾编、重視接口
軟件工程解決擴展性的重要原則就是抽象描述,直接使用的工具就是接口升敲。接口近年來逐漸成為java編程方法的核心答倡。另一方面,就應用而言驴党,大部分開發(fā)是建立在規(guī)范基礎(chǔ)之上的瘪撇,因此讀懂規(guī)范和用好規(guī)范已經(jīng)成為應用程序開發(fā)人員的首要任務,Java各項規(guī)范的主要描述手段就是接口港庄。
三倔既、學好集合框架
java描述復雜數(shù)據(jù)結(jié)構(gòu)的主要方式是集合框架。Java沒有指針攘轩,而是通過強大的集合框架描述數(shù)組叉存、對象數(shù)組等復雜的數(shù)據(jù)結(jié)構(gòu)。學好這些數(shù)據(jù)結(jié)構(gòu)的描述方法對于應用程序編寫度帮,特別是涉及到服務器方歼捏、3層結(jié)構(gòu)編程至關(guān)重要稿存。程序員在這個時候不能再用諸如數(shù)據(jù)庫結(jié)果集之類的結(jié)構(gòu)描述數(shù)據(jù)了。
由于很多語言沒有這么強大的集合框架體系瞳秽,很多初學者不知所措瓣履,更不知道拿來做什么用,因此應該引起足夠的重視练俐。
四袖迎、例外捕捉
java對例外捕捉的強調(diào)是空前的,它強迫程序員用顯著的與邏輯方法完全不同的方式描述例外捕捉腺晾,對于程序描述的完整性和嚴謹性有很大的意義燕锥。Java的初學者應該充分學習好這種例外捕捉機制,養(yǎng)成良好的編程習慣悯蝉。
五归形、多線程需要理解機理
很多java程序員熱衷于多線程程序編寫,認為是對邏輯能力的挑戰(zhàn)鼻由。其實在大量應用中根本就不需要編寫多線程程序暇榴,或者說大多數(shù)編寫應用程序的程序員不會去寫多線程程序。這是因為多線程機制都內(nèi)置到基礎(chǔ)平臺當中了蕉世。
程序員應該了解的是多線程原理和多線程安全蔼紧,這對于今后準確地把握程序是至關(guān)重要的。
例如JSP中編寫到不同的位置對于多個用戶環(huán)境的安全影響完全不同狠轻,又如著名的Super Servlet是每一個訪問作為一個進程奸例,但是每一個頁面是一個線程,和Servlet正好相反向楼,對程序的性能和安全的影響有天壤之別哩至。
六、了解網(wǎng)絡編程
java號稱是最強的網(wǎng)絡編程語言蜜自,但是大多數(shù)應用程序開發(fā)人員是從來不會自己開發(fā)什么底層的網(wǎng)絡程序的。需要做只是了解原理就夠了卢佣。網(wǎng)絡機制的實現(xiàn)是靠平臺實現(xiàn)的重荠,除非自己開發(fā)平臺,否則是不需要知道socket怎么實現(xiàn)虚茶,怎么監(jiān)聽訪問的戈鲁,也沒有必要再這方面花費太多的功夫。
希望對Java初學者能有所幫助嘹叫。