初識j2ee——一個java新手的感觸

來源:互聯網
上載者:User

最近做的幾個項目技術上面都使用JAVA,於是我這個JAVA半吊子開始稍微比較系統的瞭解JAVA。

 

這篇文章是我短期內對j2ee下開發的一點感觸。

 

我自己曾經一直“引以為傲”的以“C++程式員”自居(雖然我自己在C++上的造詣也未必深刻),但是一直有種C++程式員的“王者氣派”,認為無論在效率上、設計上、文法複雜度上,能做C++是很值得吹噓的一件事情。對一些WEB上的技術甚至很浮躁的“不屑為之”。

 

其實當我走進JAVA的開發世界的時候,卻有了很多不同以往的感觸,確實:實踐才是檢驗真理的唯一標準啊。

 

JAVA在文法上面和.NET很相似,由於我也做過一段時間C#的開發,所以上手還算快。至於記憶體回收行程、文法、反射這些語言方面的東西我們就不提了。重點說說項目開發中的感觸。我這兒使用 spring + hibernate + junit的開發(經典的WEB開發環境),使用IDE為myeclipse。

 

先說MyEclipse,給我的第一感覺是複雜,第二感覺是不習慣,第三感覺是牛逼。因為強大,所以複雜,它的外掛程式非常強大,包括各種文法高亮、代碼連結、甚至是SVN外掛程式,都很人性化並且很成熟。

 

在j2ee上,各種架構都已經比較成熟,最高程度的複用已有代碼才是做JAVA開發的一個精神所在。這也是JAVA開源社區為軟體界做出的巨大貢獻。(可能C++也有,但是我所接觸的C++項目都是做相對來說較為封閉的,或者不是那麼高層的應用,所以大規模的代碼複用還是相對較少。)在WEB應用中比如我們用到的搜尋引擎開發包lucene,MVC架構spring,日誌log4j等……

 

另外再說說面向介面編程,面向切面編程。

毫無疑問,介面這個概念是物件導向思想上的一個突破,當強制所有項目成員都以面向介面的方式編程的時候,實際上從系統設計或者模組設計層面上就已經進行了一次解耦。同時每個項目成員也更加能專註於自身的業務,提高代碼的封裝、複用程度。而且正因為介面的明確,也使得單元測試能得以進行。

當然C++也能實現介面的功能(所有函數均為純虛函數的基類),不過JAVA設計層面上更加上層。

 

所以給我的感覺是,項目開發更像“項目開發”了……可能這句話有些自我矛盾,但是從C++轉型做JAVATeam 專案開發的人,估計也會更我有同樣的感受吧。我這並不是在比較或者批判C++和JAVA之間的區別,我也可以理解C++項目的開發特點,其實偏向於更底層,更追求效率。

 

所以我的總結是,JAVA開發確實效率較高,而且從團隊合作的角度來說,現有的一些開源架構、軟體或者技術都能發揮出自己的功效。以後無論在使用任何語言編程的時候、或者做設計的時候,都可以參考這些方便的設計或者理念。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.