自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java系統(tǒng)程序員修煉之道

開發(fā) 后端
從2002開始接觸Java學會HelloWorld這么經典的程序到如今不知不覺已經十年啦,十年中親耳聽到過不少大牛的演講,見到過項目中的神人在鍵盤上運指如飛的編程速度,當時就被震撼了。當編程越來越成體力活,我們還能有自己的思想,還能修煉為Java系統(tǒng)級別的程序員嘛?學習與修煉以下知識與技能,幫你早日達成愿望。

從2002開始接觸Java學會HelloWorld這么經典的程序到如今不知不覺已經十年啦,十年中親耳聽到過不少大牛的演講,見到過項目中的神人在鍵盤上運指如飛的編程速度,當時就被震撼了。當編程越來越成體力活,我們還能有自己的思想,還能修煉為Java系統(tǒng)級別的程序員嘛?學習與修煉以下知識與技能,幫你早日達成愿望。

一:Java語言學習

[[82696]]
 

對線程(thread),串行化,反射,網絡編程,JNI技術,容器(Map,List, Iterator), 類加載器(ClassLoader),輸入輸出流,垃圾回收機制, 有比較深入的了解,最起碼做過項目應用。有過Java項目的性能優(yōu)化經驗,最起碼掌握一種性能監(jiān)視工具的使用,熟悉JVM參數(shù),最起碼知道可以在JVM啟動時指定不同垃圾回收機制,以及不同垃圾回收機制之間的差別,熟悉JVM參數(shù)優(yōu)化。

二:J2EE方面


 

***知道JDBC規(guī)范是怎么回事情,面對Oracle數(shù)據庫如果告訴你JDBC驅動不能用了,你還知道有OCI驅動可以。掌握常見的SQL語句,熟悉JMS, JNDI等組件,掌握一套web開發(fā)模式,從前臺到后臺,有能力整合好這樣的框架。理解并掌握MVC思想,像SSH已經實現(xiàn)了MVC的分層,幾乎不需要你自己再實現(xiàn),假設你開發(fā)一個簡單的Swing程序,你能MVC就說明你真的掌握了MVC的精髓。有能力在J2EE前端開發(fā)中構建自己的MVC模式,知道什么是WEB2.0,知道什么是SOA, SaaS, SaaP等含義。

三:理解并能合理運用設計模式,UML建模


 

知道并理解設計模式中蘊含的幾種基本原則如:里氏替換原則, 開閉原則,合成復用原則,依賴倒置原則有很好的理解,并能舉例說明。對常用的設計模式如工廠模式,單例模式,觀察者模式,責任鏈模式,橋接模式等知道靈活運用,明白什么是回調(Callback)。***用一位高人話來總結設計模式,它是為了讓軟件更容易被別人讀懂,更容易維護而產生,設計模式本質是程序員之間的交流,如果A用工廠模式設計一個模塊B來接替,A只要說該模塊是工廠模式實現(xiàn),B維護起來應該容易得多,所以設計模式是關于交流,不關于代碼。切忌濫用設計模式。學會使用UML建模工具至少熟悉一種URL建模工具。

四:注重用戶體驗,掌握KISS原則,知道歐卡姆剃刀原則


 

顧客就是上帝這個口號我們已經喊了N年了,程序員的勞動成果最終也需要轉換為服務提供給客戶,用戶體驗至關重要,常??吹降膱鼍笆枪δ軐崿F(xiàn)了,軟件很難使用,程序員有個很充足的理由我不是美工,其實注重用戶體驗跟美工八桿子也打不到一起,F(xiàn)oxMail的成功在很大程度是用戶體驗的成功,友好,清晰的用戶提示,強的容錯與糾錯設計是獲得好的用戶體驗的不二法門。傻瓜相機顧名思義***都會使用,這個就著名的KISS原則(Keep it simple and stupid)意思是UI設計要簡單明了,***一看就知道怎么用,想想我們做出來的東西,對照說明書都不知道怎么用。另外一個就是***的例子IPhone手機外觀設計,是典型的歐卡姆剃刀設計原則來完成人機交互。

五:自動測試與軟件配置管理(SCM)實現(xiàn)

[[82697]]
 

知道什么是軟件配置管理,知道Hudson - http://java.net/projects/hudson/運用該工具SCM,知道怎么獲取測試代碼覆蓋率, Java有效代碼行數(shù)(NCSS),完成firebug, JDepend等工具集成ant/maven。熟悉并注重在開發(fā)過程中使用JUnit單元測試,理解白盒測試規(guī)范。

六:熟悉常見的網絡通信協(xié)議


 

對HTTP協(xié)議,知道POST, GET的區(qū)別是什么,閱讀過HTTP相關的RFC文檔。學會使用sniffer工具查看數(shù)據包,幫助查找與調試程序,知道TCP與UDP的區(qū)別,知道并理解E-Mail發(fā)送與接受的協(xié)議如SMTP, POP3,IMAP等協(xié)議,了解MIME與Base64編碼。知道組播是怎么回事情。

七:面向市場,永遠對新技術保持渴望

[[82698]]
 

計算機技術的發(fā)展日新月異,做為IT行業(yè)的軟件開發(fā)人員要不斷的給自己充電,更新自己的技術與時代保持同步,同時還要面向市場,華為總裁任正非說過-“華為的技術革新必須面向市場”,作為程序員同樣要有市場意識,很多人都后悔沒有在android剛出來的時候加以關注學習。那些很早關注android開發(fā)技術的很多程序員因此獲得豐厚回報。如今HTML5得到越來越多的瀏覽器廠家支持,你是否已經跟上腳步,開始學習。

八:保持謙虛,三人行必有我?guī)?/strong>


 

喬幫主說他要保持初心,努力學習,我等更應該保持謙虛,IT技術發(fā)展日新月異,在你眼中不可能實現(xiàn)的技術,也許別人早已經有思路。保持謙虛就有機會吸取別人身上的長處,古人有云:滿招損,謙受益。一個得道的高人更是說出了”下下人,上上智”的禪語。永遠不要拒絕幫助你周圍的人解決難題,解決難題是進步最快途徑。不要放棄任何一次可以提升自己技術與能力的機會。

九:養(yǎng)成總結的習慣,不斷反思

[[82699]]
 

上學的時候老師常讓寫小結,也沒總結出來所以然,以至于工作以后再也不提這檔子事情,建議每個項目做完以后對自己都有個小結,總結自己在項目里面學到了什么,反問自己能不能完成在不需要別人幫助的情況下自己完成這樣的系統(tǒng)搭建,是否熟悉與掌握項目中所用到的技術,即使有些東西不是你負責完成的但是什么也不能阻擋一顆求知的心,總結要盡量詳細記錄你遇到那些難題是怎么一個一個的解決的,下次再遇到你是否可以很快解決或者避免這樣的問題。有總結才有提高,孔子曰:學而不思則罔,如果我們只是coding到吐血,不思考,不總結提高,永遠不可能有能有本質提高,秦相李斯有云:“泰山不讓土壤,故能成其大,河海不擇細流,故能就其深”,點滴積累不斷總結方能量變導致質變。

十:數(shù)學功底與算法知識


 

用任何編程語言開發(fā)應用,都離不開核心算法支持,很多國外的軟件單單從UI上看,恐怕寫幾年程序的人都可以模仿,但是UI之下的那些真實深淺不一,相信不是你想模仿就可以模仿的,為什么我們越來越山寨,因為我們沒有核心競爭力,對于程序員來說算法與數(shù)學顯然是他最重要的核心競爭力之一?!端惴▽д摗?,《編程珠璣》等書絕對值得讀十遍。微軟亞洲研究院視覺計算組負責人在一次演講中說到他們招人的標準是“三好學生– 數(shù)學好,編程好,態(tài)度好”??墒乾F(xiàn)實的普遍情況卻是 - 微機原理鬧危機,匯編語言不會變,實變函數(shù)學十遍。計算機基礎知識被大家普遍忽視。從今天開始好好學習吧…… 

十一:Java代碼反編譯與代碼保護

[[82700]]
 

Java編譯產生字節(jié)碼,因而可以被輕松的逆向工程(反編譯),微軟的C#生產的DLL也一樣可以被輕松反編譯。正式由于這個原因產生了許多Java開源的代碼保護工具,而Proguard是其中佼佼者,已經被google集成在android之中用于Java代碼保護,訪問這里了解更多:http://proguard.sourceforge.net/

十二:努力成為某個行業(yè)或者領域骨干

[[82701]]
 

面對漫長的職業(yè)生涯,要想不被淘汰,必須具備一招鮮吃遍天下的能力,選擇自己感興趣的方向,努力而深入的研究,計算機技術發(fā)展到今天已經細分很細,努力研究一種Java開源框架或者開源HTTP服務器源碼或者研究過網絡爬蟲源碼或者WEBKIT內核,不愁沒有人要你。如果你是非常了解金融,企業(yè)ERP,證券,保險,移動應用行業(yè)的應用開發(fā)業(yè)務的人,一樣不用愁工作。這些知識不隨語言而改變,努力做一個有核心競爭力的Java程序員。 

十三:提高語言與書面表達能力,掌握基礎的項目管理知識

[[82702]]
 


 

文檔與語言表達能力是***的向外界展現(xiàn)自己能力的方式,很多程序員編程能力很高,表達能力一般,Linux能夠成功,除了歸功于網絡社區(qū)的力量之外,也得益于Linux作者本人給各大基金會寫信,宣傳推廣,試想如果沒有良好的書面語言表達能力,即使Linux系統(tǒng)再優(yōu)秀,卻無法被準確表達,失去各大基金會的支持,Linux還會像今天這么好的局面嘛。所以重視文檔,重視提升溝通與表達能力,才有可能成為Java系統(tǒng)程序員。掌握基本的2/8原則,學會將模塊細化分配給不同的人,預見并控制項目風險,把握項目進度,優(yōu)化流程,合理的時間管理,了解TDD,熟悉敏捷開發(fā)模式,常規(guī)軟件開發(fā)模式。

十四:掌握英語,良好的讀寫能力

[[82703]]
 

英語是計算機的母語,掌握好英語對于閱讀英文資料學習新技術大有幫助,我的建議是盡量讀英文原版書,如果是算法方面的可能會困難一點,但是其它像設計模式,軟件工程,OO編程思想等盡量讀原版,提高自己的英文水平,多多訪問開發(fā)者,code project,程序員天堂,Pc-magazine等英文IT網站。英語絕對是你必須修煉與提高的技能。此外英語好在外資企業(yè)尤其重要,只有外語足夠好才可能在外資企業(yè)中突破職業(yè)瓶頸,向上發(fā)展。

原文鏈接:http://blog.csdn.net/jia20003/article/details/7671595

責任編輯:林師授 來源: 博客園
相關推薦

2009-12-04 10:45:20

程序員職場

2009-07-21 10:16:51

ASP.NET程序員

2010-08-11 13:56:03

Flex程序員

2011-05-10 09:29:30

代碼重寫

2009-07-27 10:00:17

程序員ASP.NET

2021-03-26 11:52:50

Debug效率運行

2009-11-27 09:07:38

程序員

2015-04-14 09:29:25

CTO程序員

2009-11-04 11:54:33

程序員職業(yè)水準

2014-04-23 17:58:32

碼農碼農思想

2009-10-26 17:36:13

Oracle管理員DBA

2018-10-19 09:03:37

程序員管理思維

2020-09-10 15:16:38

Java程序員代碼

2015-04-08 11:09:28

優(yōu)秀程序員深入理解你的代碼

2013-08-20 09:33:59

程序員

2012-03-06 09:22:46

程序員

2012-11-08 09:49:30

C++Java程序員

2009-06-25 09:33:43

Java API程序員

2014-07-29 10:30:16

JavaJava程序員

2009-05-21 15:58:12

程序員工作經驗職場
點贊
收藏

51CTO技術棧公眾號