發(fā)布時間:2021-08-25 16:30:40來源:轉(zhuǎn)載
Java開發(fā)需要掌握哪些技能?很多小伙伴參加Java培訓也是希望順利成為Java程序員獲得高薪,但是Java后端開發(fā)需要我們掌握哪些技能呢?
1、首先要明確JAVA包括哪些職業(yè)
DBA(數(shù)據(jù)庫維護優(yōu)化)
Developer(程序猿)
Architect(構(gòu)架師)
Scrum master及類似(敏捷開發(fā))
Project Manager(產(chǎn)品狗)
Maintenance&ITsupport(通訊和服務(wù)器相關(guān))
當然這只是一個大致的分類,并沒有一個清晰的界限。
2、按程序員內(nèi)功而言
關(guān)系型數(shù)據(jù)庫
領(lǐng)域驅(qū)動設(shè)計(Domain-Driven Design)
設(shè)計模式Design Pattern
算法Algorithm
面向?qū)ο缶幊蘋OP(SOLID)
線程安全,事件驅(qū)動,測試驅(qū)動開發(fā)
依賴注入框架,等等。
對于初學Java并且有志于后端開發(fā)的同學來說,需要重點關(guān)注以下幾個部分:
基礎(chǔ):比如計算機系統(tǒng)、算法、編譯原理等等。
Web開發(fā):主要是Web開發(fā)相關(guān)的內(nèi)容,包括HTML/CSS/js(前端頁面)、 Servlet/JSP(J2EE)以及MySQL(數(shù)據(jù)庫)相關(guān)的知識。它們的學習順序應(yīng)該是從前到后,因此較先學習的應(yīng)該是HTML/CSS/JS(前端頁面)。
J2EE:你需要學習的是Servlet/JSP(J2EE)部分,這部分是Java后端開發(fā)必須非常精通的部分,因此這部分是這三部分中較需要花精力的。關(guān)于Servlet/Jsp部分視頻的選擇,業(yè)界比較認可馬士兵的視頻。
較后一步,你需要學會使用數(shù)據(jù)庫:mysql是個不錯的入門選擇,而且Java領(lǐng)域里主流的關(guān)系型數(shù)據(jù)庫就是mysql。這部分一般在你學習Servlet/Jsp的時候,就會接觸到的,其中的JDBC部分就是數(shù)據(jù)庫相關(guān)的部分。
你不僅要學會使用JDBC操作數(shù)據(jù)庫,還要學會使用數(shù)據(jù)庫客戶端工具,比如sqlyog。
開發(fā)框架:目前比較主流的是SSM框架,即spring、springmvc、mybatis。你需要學會這三個框架的搭建,并用它們做出一個簡單的增刪改查的Web項目。
你可以不理解那些配置都是什么含義,以及為什么要這么做,這些留著后面你去了解。但你一定要可以的利用它們?nèi)齻€搭建出一個Web框架,你可以記錄下你第一次搭建的過程,相信我,你一定會用到的。
還要提一句的是,你在搭建SSM的過程中,可能會經(jīng)常接觸到一個叫maven的工具。
這個工具也是你以后工作當中幾乎是必須要使用的工具,所以你在搭建SSM的過程中,也可以順便了解一下maven的知識。在你目前這個階段,你只需要在網(wǎng)絡(luò)上了解一下maven基本的使用方法即可,一些高端的用法隨著你工作經(jīng)驗的增加,會逐漸接觸到的。
你需要去看一些JDK中的類的源碼,也包括你所使用的框架的源碼。這些源碼能看懂的前提是,你必須對設(shè)計模式非常了解。否則的話,你看源碼的過程中,永遠會有這樣那樣的疑問,這段代碼為什么要這么寫?
為什么要定義這個接口,它看起來好像很多余?由此也可以看出,這些學習的過程是環(huán)環(huán)相扣的,如果你任何一個階段拉下來了,那么你就真的跟不上了,或者說是一步慢步步慢。而且我很負責的告訴你,我在這個階段的時候,所學習的東西遠多于這里所羅列出來的。
總而言之,這個階段,你需要做的是深入了解Java底層和Java類庫(比如并發(fā)那本書就是Java并發(fā)包java.concurrent的內(nèi)容),也就是JVM和JDK的相關(guān)內(nèi)容。而且還要更深入的去了解你所使用的框架,方式比較推薦看源碼或者看官方文檔。