java開發(fā)如何自學(xué)?Java程序員需要學(xué)什么知識(shí)?在網(wǎng)上下載了很多Java教學(xué)視頻,將Java基礎(chǔ)視頻從頭到尾聽(tīng)了一遍又一遍,但是很多時(shí)候都是理解不會(huì)做。學(xué)不好Java技能產(chǎn)生自我懷疑,不由發(fā)出Java真的好難學(xué),失去學(xué)習(xí)的興趣。java開發(fā)如何自學(xué)?Java程序員需要學(xué)什么知識(shí)?
1、首先要明確后端包括哪些職業(yè)
DBA(數(shù)據(jù)庫(kù)維護(hù)優(yōu)化專家)
Developer(程序猿)
Architect(構(gòu)架師)
Scrum master及類似(敏捷開發(fā)專家)
Project Manager(產(chǎn)品狗)
Maintenance&ITsupport(通訊和服務(wù)器相關(guān))
當(dāng)然這只是一個(gè)大致的分類,并沒(méi)有一個(gè)清晰的界限。
2、按程序猿內(nèi)功而言
關(guān)系型數(shù)據(jù)庫(kù)
領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(Domain-Driven Design)
設(shè)計(jì)模式Design Pattern
算法Algorithm
面向?qū)ο缶幊蘋OP(SOLID)
線程安全,事件驅(qū)動(dòng),測(cè)試驅(qū)動(dòng)開發(fā)
依賴注入框架,等等。
對(duì)于初學(xué)Java并且有志于后端開發(fā)的同學(xué)來(lái)說(shuō),需要重點(diǎn)關(guān)注以下幾個(gè)部分:
基礎(chǔ):比如計(jì)算機(jī)系統(tǒng)、算法、編譯原理等等。
Web開發(fā): 主要是Web開發(fā)相關(guān)的內(nèi)容,包括HTML/CSS/js(前端頁(yè)面)、
Servlet/JSP(J2EE)以及MySQL(數(shù)據(jù)庫(kù))相關(guān)的知識(shí)。它們的學(xué)習(xí)順序應(yīng)該是從前到后,因此最先學(xué)習(xí)的應(yīng)該是HTML/CSS/JS(前端頁(yè)面)。
J2EE:你需要學(xué)習(xí)的是Servlet/JSP(J2EE)部分,這部分是Java后端開發(fā)必須非常精通的部分,因此這部分是這三部分中最需要花精力的。關(guān)于Servlet/Jsp部分視頻的選擇,業(yè)界比較認(rèn)可馬士兵的視頻。
最后一步,你需要學(xué)會(huì)使用數(shù)據(jù)庫(kù):mysql是個(gè)不錯(cuò)的入門選擇,而且Java領(lǐng)域里主流的關(guān)系型數(shù)據(jù)庫(kù)就是mysql。這部分一般在你學(xué)習(xí)Servlet/Jsp的時(shí)候,就會(huì)接觸到的,其中的JDBC部分就是數(shù)據(jù)庫(kù)相關(guān)的部分。
你不僅要學(xué)會(huì)使用JDBC操作數(shù)據(jù)庫(kù),還要學(xué)會(huì)使用數(shù)據(jù)庫(kù)客戶端工具,比如navicat,sqlyog,二選一即可。
開發(fā)框架:目前比較主流的是SSM框架,即spring、springmvc、mybatis。你需要學(xué)會(huì)這三個(gè)框架的搭建,并用它們做出一個(gè)簡(jiǎn)單的增刪改查的Web項(xiàng)目。
你可以不理解那些配置都是什么含義,以及為什么要這么做,這些留著后面你去了解。但你一定要可以快速的利用它們?nèi)齻€(gè)搭建出一個(gè)Web框架,你可以記錄下你第一次搭建的過(guò)程,相信我,你一定會(huì)用到的。
還要提一句的是,你在搭建SSM的過(guò)程中,可能會(huì)經(jīng)常接觸到一個(gè)叫maven的工具。
這個(gè)工具也是你以后工作當(dāng)中幾乎是必須要使用的工具,所以你在搭建SSM的過(guò)程中,也可以順便了解一下maven的知識(shí)。在你目前這個(gè)階段,你只需要在網(wǎng)絡(luò)上了解一下maven基本的使用方法即可,一些高端的用法隨著你工作經(jīng)驗(yàn)的增加,會(huì)逐漸接觸到的。
你需要去看一些JDK中的類的源碼,也包括你所使用的框架的源碼。這些源碼能看懂的前提是,你必須對(duì)設(shè)計(jì)模式非常了解。否則的話,你看源碼的過(guò)程中,永遠(yuǎn)會(huì)有這樣那樣的疑問(wèn),這段代碼為什么要這么寫?
為什么要定義這個(gè)接口,它看起來(lái)好像很多余?由此也可以看出,這些學(xué)習(xí)的過(guò)程是環(huán)環(huán)相扣的,如果你任何一個(gè)階段拉下來(lái)了,那么你就真的跟不上了,或者說(shuō)是一步慢步步慢。而且我很負(fù)責(zé)的告訴你,我在這個(gè)階段的時(shí)候,所學(xué)習(xí)的東西遠(yuǎn)多于這里所羅列出來(lái)的。
總而言之,這個(gè)階段,你需要做的是深入了解Java底層和Java類庫(kù)(比如并發(fā)那本書就是Java并發(fā)包java.concurrent的內(nèi)容),也就是JVM和JDK的相關(guān)內(nèi)容。而且還要更深入的去了解你所使用的框架,方式比較推薦看源碼或者看官方文檔。
再總而言之,就是 學(xué)習(xí)、學(xué)習(xí)、再學(xué)習(xí)~
java開發(fā)如何自學(xué)?Java程序員需要學(xué)什么知識(shí)?與其低效自學(xué)不如找專業(yè)的java培訓(xùn)機(jī)構(gòu),去哪里學(xué)習(xí)?來(lái)找達(dá)內(nèi)啊~
班級(jí)里良好的學(xué)習(xí)氛圍,班主任每天的定時(shí)督促,項(xiàng)目經(jīng)理的實(shí)時(shí)問(wèn)題解答,教學(xué)老師帶你進(jìn)行項(xiàng)目實(shí)操,既系統(tǒng)學(xué)習(xí)了知識(shí),又拓寬了朋友圈。你還有什么理由不來(lái)?
感謝大家閱讀由Java問(wèn)答分享的“Java開發(fā)如何自學(xué)?Java程序員需要學(xué)什么知識(shí)?”希望對(duì)大家有所幫助,想了解更多培訓(xùn)信息請(qǐng)關(guān)注Java培訓(xùn)機(jī)構(gòu)官網(wǎng)
免責(zé)聲明:以上內(nèi)容僅作為信息傳播,文中部分信息來(lái)源于互聯(lián)網(wǎng),僅供閱讀參考。