對(duì)于打算入門或者剛剛?cè)腴T學(xué)習(xí)Java的人來說,剛開始接觸這門學(xué)科,往往會(huì)覺得不知所措,也會(huì)覺得很迷茫。結(jié)合前人經(jīng)驗(yàn),就從入門到進(jìn)階對(duì)于Java的學(xué)習(xí)而言,應(yīng)該對(duì)于學(xué)習(xí)時(shí)間、目標(biāo)和內(nèi)容規(guī)劃有一個(gè)清晰的定位。
在入門階段,除了學(xué)習(xí)必備的Java專業(yè)知識(shí)以外,在學(xué)習(xí)到一定程度之后還應(yīng)該做到可以進(jìn)行簡(jiǎn)單地項(xiàng)目開發(fā)。
入門階段的學(xué)習(xí),除了要閱讀相關(guān)入門書籍之外,還應(yīng)掌握Java代碼規(guī)范、Java開發(fā)流程、Java開發(fā)工具等事項(xiàng)。Java入門書籍推薦《Java編程思想》、《Java核心技術(shù):卷I基礎(chǔ)知識(shí)》這兩本。關(guān)于Java代碼規(guī)范的問題,在編寫代碼之前一定要先熟悉,熟悉Oracle的Java語言編碼規(guī)范,因?yàn)檫@就是Java服務(wù)端遵循的規(guī)范。
關(guān)于Java開發(fā)流程的問題,是比較嚴(yán)謹(jǐn)?shù)?,必須要有?nèi)在的邏輯性,環(huán)環(huán)相扣,缺一不可。開發(fā)流程大致是:功能開發(fā)→單元測(cè)試→功能測(cè)試→Code Review→集成測(cè)試→發(fā)布。對(duì)于Java入門的人來說,學(xué)習(xí)Java開發(fā)工具,首先建議安裝JDK+文本編輯器的開發(fā)工具包,并下載和JDK版本一致的API幫助。此外,最好掌握常用類庫(kù)和工具包,如goole guava等,因?yàn)?/span>JDK原生API在很多場(chǎng)景下并不方便。在選擇Java IDE時(shí),推薦Intellij IDEA,因?yàn)?/span>Intellij IDEA在調(diào)試、自動(dòng)完成和重構(gòu)方面的表現(xiàn)都比Eclipse更優(yōu)秀。
對(duì)于Java的學(xué)習(xí)在打好基礎(chǔ)之后,便要思考如何實(shí)現(xiàn)進(jìn)階的問題了。而實(shí)現(xiàn)Java學(xué)習(xí)進(jìn)階的目標(biāo)便是可以進(jìn)行服務(wù)端項(xiàng)目的開發(fā)。進(jìn)階階段需要掌握的技術(shù)主要包括:Web架構(gòu)設(shè)計(jì)、Web安全知識(shí)、Web開發(fā)最佳實(shí)踐、Http、Thrift協(xié)議、關(guān)系型數(shù)據(jù)庫(kù)、非關(guān)系型數(shù)據(jù)庫(kù)以及服務(wù)容量規(guī)劃和性能調(diào)優(yōu)。
關(guān)于Web架構(gòu)設(shè)計(jì),要掌握Web架構(gòu)設(shè)計(jì),包括Web架構(gòu)生命周期、數(shù)據(jù)緩存、數(shù)據(jù)存儲(chǔ)方式、負(fù)載均衡、水平和垂直擴(kuò)展等。而Web安全知識(shí)方面,學(xué)習(xí)內(nèi)容要包括加密、解密、防偽造、防重放攻擊等在內(nèi)的Web前段安全問題,設(shè)計(jì)安全Web服務(wù)。
在學(xué)習(xí)Web開發(fā)最佳實(shí)踐方面,建議閱讀《J2EE核心模式》和《Spring揭秘》這兩本書,能夠幫助掌握項(xiàng)目分層、子模塊劃分、RestfulAPI設(shè)計(jì),理解Spring原理。
在學(xué)習(xí)Http、Thrift協(xié)議相關(guān)知識(shí)的時(shí)候,建議閱讀《圖解HTTP》、《HTTP權(quán)威指南》這兩本書。Http協(xié)議屬于應(yīng)用層面的面向?qū)ο蟮膮f(xié)議,Http允許傳輸任一類型的數(shù)據(jù)對(duì)象。Thrift是一個(gè)軟件框架(遠(yuǎn)程過程調(diào)用框架),用來進(jìn)行可擴(kuò)展且跨語言的服務(wù)的開發(fā)。學(xué)習(xí)數(shù)據(jù)庫(kù)相關(guān)知識(shí)的時(shí)候,要分清楚關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù),關(guān)系型數(shù)據(jù)庫(kù)主要學(xué)習(xí)MySQL;非關(guān)系型數(shù)據(jù)庫(kù)主要學(xué)習(xí)NoSQL,Hadoop、HBase、Hive這些常用的工具除此之外,性能調(diào)優(yōu)知識(shí)、可靠性保障、故障處理、監(jiān)控報(bào)警系統(tǒng),這些也都要掌握。
對(duì)Java的學(xué)習(xí)達(dá)到一定程度之后,你所缺乏的就是項(xiàng)目經(jīng)驗(yàn)和實(shí)際操作經(jīng)驗(yàn),另外,學(xué)習(xí)完成之后還需要你對(duì)所學(xué)知識(shí)能夠構(gòu)建自己地知識(shí)體系以方便隨時(shí)調(diào)用。想要更加深化自己的Java開發(fā)技能,就必須及時(shí)的參與項(xiàng)目,在豐富經(jīng)驗(yàn)的同時(shí)對(duì)自己所學(xué)的知識(shí)進(jìn)行查漏補(bǔ)缺,強(qiáng)化提升。
聯(lián)系客服