發(fā)布時(shí)間:2021-09-01 17:09:20來源:轉(zhuǎn)載
在理論學(xué)習(xí)階段,同學(xué)們首先應(yīng)該從Java的基礎(chǔ)語法開始學(xué)習(xí),包括變量聲明、條件判斷、循環(huán)、函數(shù)編寫。此外,還應(yīng)該了解Web相關(guān)的基礎(chǔ)知識(shí),例如http協(xié)議、Web應(yīng)用的B\S架構(gòu)。數(shù)據(jù)庫是Java應(yīng)用系統(tǒng)不可或缺的持久化組件,在理論學(xué)習(xí)階段,需要學(xué)習(xí)SQL語法相關(guān)知識(shí)。
這里有兩點(diǎn)小建議:
1.可以通過完成一些算法題目,來鞏固Java語法學(xué)習(xí)的成果;
2.好記性不如爛筆頭:多做筆記,勤練習(xí);
開發(fā)階段
經(jīng)過理論階段的學(xué)習(xí),你應(yīng)該已經(jīng)掌握了Java基礎(chǔ)知識(shí)。進(jìn)入開發(fā)階段,則需要掌握在日常實(shí)際Java項(xiàng)目開發(fā)過程中需要用到的一些技能。
首先工欲善其事,必先利其器,所以首先要熟練掌握J(rèn)ava的常用開發(fā)工具和開發(fā)環(huán)境。
Maven是目前大型公司常用的Java夾包管理軟件,可以幫助開發(fā)者解決Java夾包之間的依賴和版本管理。
Git作為代碼倉庫管理軟件,可以幫助我們實(shí)現(xiàn)代碼版本、分支管理。
Ecplise是目前Java使用較廣泛的開發(fā)環(huán)境,它集成了Maven、Git這些常用的插件。
其次,知識(shí)學(xué)習(xí)方面,需要掌握面向?qū)ο蟮南嚓P(guān)知識(shí),例如類和對(duì)象的定義方法、如何實(shí)現(xiàn)對(duì)象的繼承、如何基于接口實(shí)現(xiàn)多態(tài)等;Java容器在開發(fā)過程中也使用非常頻繁,包括List、Set、Map等,較好能夠了解每種容器的實(shí)現(xiàn)機(jī)制以及適用場(chǎng)景。Web方面,同學(xué)們需要掌握Servlet編程,包括Servltconfig、context編寫;數(shù)據(jù)庫方面,同學(xué)們需要掌握J(rèn)DBC,能夠基于JDBC實(shí)現(xiàn)數(shù)據(jù)庫的增、刪、改、查。
較后,聊聊這個(gè)階段的學(xué)習(xí)容易出現(xiàn)的誤區(qū):
不要嘗試一次性通過編譯,遇到編譯錯(cuò)誤,很多同學(xué)會(huì)很焦躁,實(shí)際上錯(cuò)誤之間有依賴,解決一個(gè)錯(cuò)誤,可能后面的錯(cuò)誤就會(huì)自動(dòng)解除,千萬不要被大量的錯(cuò)誤嚇倒。
不要copy代碼,我覺得程序員一個(gè)非常不好的習(xí)慣就是拷貝代碼,尤其在入門階段,多嘗試親手敲代碼。
注意編程規(guī)范:同學(xué)們要從代碼學(xué)習(xí)開始,就注意編程規(guī)范,例如變量名定義規(guī)則、函數(shù)名定義規(guī)則,養(yǎng)成良好的編程習(xí)慣。
進(jìn)階階段
掌握了基本的開發(fā)技能,進(jìn)階階段則主要鍛煉開發(fā)者在實(shí)際典型業(yè)務(wù)場(chǎng)景下,提高開發(fā)效率,解決實(shí)際問題的能力。
在Web基礎(chǔ)方面,要掌握Cookies和Session、轉(zhuǎn)發(fā)和重定向、過濾器、監(jiān)聽器的相關(guān)知識(shí);
數(shù)據(jù)庫方面,要學(xué)習(xí)數(shù)據(jù)庫連接池的使用方法,為什么要使用數(shù)據(jù)庫連接池以及數(shù)據(jù)庫死鎖、數(shù)據(jù)庫SQL注入相關(guān)概念。
在Java語言方面,要開始學(xué)習(xí)Java應(yīng)用框架,例如mybatis、Spting,這些框架可以幫助我們更加的構(gòu)建Java工程。在框架學(xué)習(xí)過程中,我認(rèn)為不僅要學(xué)習(xí)如何基于框架開發(fā)系統(tǒng),更要注重框架自身設(shè)計(jì)思想,這對(duì)于開發(fā)者提升自己的代碼架構(gòu)能力是非常有幫助的。
在進(jìn)階階段,要注意以下內(nèi)容:
以問題為導(dǎo)向:Java知識(shí)繁雜,以問題為導(dǎo)向,作為切入點(diǎn),能夠提高Java學(xué)習(xí)的效率;
特定場(chǎng)景下的需求解決:每一種架構(gòu)都有典型的應(yīng)用場(chǎng)景,要結(jié)合實(shí)際應(yīng)用場(chǎng)景去分析和解決問題;
利用google:作為一名程序員,遇到未知問題是很正常的事情,關(guān)鍵利用好google,社區(qū)、論壇;
性能的持續(xù)改進(jìn)和優(yōu)化:在進(jìn)階階段,同學(xué)們應(yīng)該要具備基本的性能調(diào)優(yōu)能力,關(guān)注性能管理;
實(shí)戰(zhàn)階段
計(jì)算機(jī)編程是一個(gè)非常注重實(shí)戰(zhàn)的領(lǐng)域,在Java學(xué)習(xí)過程中,必須要有一個(gè)實(shí)戰(zhàn)項(xiàng)目,來幫助大家鞏固之前的學(xué)習(xí)成果,這對(duì)于后續(xù)上手公司的實(shí)際業(yè)務(wù)有非常大的幫助。
你可以借助一些云平臺(tái),來熟悉環(huán)境搭建部署的過程。建議大家學(xué)習(xí)Docker的相關(guān)技術(shù),微服務(wù)是目前系統(tǒng)設(shè)計(jì)中比較流行的架構(gòu),借助Docker部署、服務(wù)發(fā)現(xiàn)、服務(wù)編排的特性,可以幫助我們實(shí)現(xiàn)系統(tǒng)的發(fā)布和彈性擴(kuò)展。
在實(shí)戰(zhàn)階段,應(yīng)該重點(diǎn)關(guān)注以下幾點(diǎn):
文檔編寫:編寫詳細(xì)設(shè)計(jì)文檔也是程序員必須具備的一項(xiàng)技能,要學(xué)習(xí)設(shè)計(jì)文檔的編寫格式,編寫規(guī)范。
設(shè)計(jì)模式:同學(xué)們?cè)趯?shí)戰(zhàn)階段,代碼編寫時(shí)要注意設(shè)計(jì)模式,盡可能提高代碼的可讀性、可重復(fù)使用性。
邊界條件的校驗(yàn)和處理:在實(shí)際開發(fā)過程中,系統(tǒng)出現(xiàn)較多的問題都集中在邊界條件的校驗(yàn)和處理上,同學(xué)們?cè)趯?shí)際開發(fā)過程中,應(yīng)該要有意識(shí)的考慮這些問題。