Java工程師學習指南(初級篇)
Java工程師學習指南
初級篇
最近有很多小夥伴來問我,Java小白如何入門,如何安排學習路線,每一步應該怎麼走比較好。原本我以為之前的幾篇文章已經可以解決大家的問題了,其實不然,因為我之前寫的文章都是站在Java後端的全域性上進行思考和總結的,忽略了很多小白們的感受,而很多朋友都需要更加基礎,更加詳細的學習路線。
所以,今天我們重新開一個新的專題,分別按照四篇文章講述Java的學習路線(分別是入門篇,初級篇,中級篇,高階篇),筆者也打算趁此機會,回憶一下自己的Java學習歷程。今天我們要講的是,小白同學如何入門Java。
先宣告一點,文章內容不會詳細到每一步怎麼操作,只會提供大致的思路和方向,給大家以啟發,如果真的要一步一步指導操作的話,那至少需要一本書的厚度啦。
本文所述的方法不一定適合所有人,如有錯誤敬請諒解。
01
Java Web專案指南
jav在上一篇文章中,我們講到了入門Java的幾個步驟,先搭建好環境,然後熟悉基本語法,接著熟悉Java的一些核心技術,並且在程式碼中進行實現。
如果你已經完成了這部分內容的學習,應該會感覺自己對Java已經有一定了解了,可以輕鬆地寫出一些Java程式碼,比如實現多執行緒輸出數字,再如操作IO流等等。
當然,這些程式碼通常只是一些demo,我們在實際的專案中可能並不會這麼簡單地使用這些技術,我們可能會同時使用集合類,多執行緒,以及運算元據庫的API。
所以,在今天的初級篇中,我們就來談談怎麼做專案吧。
Java Web專案
對於大部分Java新手來說,最適合他們入門的專案就是Java Web了。因為Java天然適合做Web應用,並且生態完善,更有很多開源的工具和框架去支撐這些應用,比如Spring,Hibernate,SpringMVC等等。
那麼,如何開始著手做一個Java Web專案呢。個人認為最好的方式就是看視訊了。因為,看書的話,很多內容比較過時,並且一般不會提供原始碼。也有一些大佬喜歡推薦開源的專案(在GitHub上面的專案),但是對於小白來說,如果沒有很完整的文件去指導他們,那也是毫無意義的。
曾幾何時,Java Web的專案還在使用JSP + Servlet進行開發,後來出現了Struts2,再後來,出現了我們現在也一直在用的SpringMVC,說實話,不論使用哪種開發框架,你都需要先花一些時間去學習相關的技術,否則你會發現,即使是看視訊,你也不知道里面在講什麼。
要想做好一個JavaWeb專案,你不僅需要一個好的專案課程,還需要足夠的知識儲備,下面就讓我們來理一理這些內容把。
知識儲備
Java基礎部分的內容我們們上次說過了,這裡就不再重複啦~下面我們分別來說說其他幾方面的知識儲備把
02
前端知識
推薦資源:在w3cschool學習html,css和js,支援線上測試程式碼。
既然是做Web,就難免要涉及到前端技術,不過,現在前後端分離已經是一種趨勢,所以,如果你對前端不感興趣,也沒必要花太多時間去學習。
對於大部分同學來說,你最好要了解html的基本標籤和格式,自己能夠寫一些簡單頁面,CSS的話,也可以稍微接觸一些。相對於前面兩個服務於樣式的技術,我們倒是更應該去學習一下JavaScript,瞭解它的一些基本語法,以及ajax的使用,因為在前後端互動時,ajax是非常重要的。
所以,做一個Java Web專案,你不需要花太多時間在寫前端頁面上,如果有原始碼可以直接使用,當然,對於一些需要修改的前端頁面,你得怎麼去做修改它,因為有時候你需要使用JSP,JSP既包括前端程式碼也包括Java程式碼,如果你完全看不懂前端程式碼的話,那就很尷尬了。
03
Java Web常用技術
JavaWeb的技術棧其實比較龐大,所以我們不要求面面俱到,只是希望你能夠熟悉一下專案中可能用到的技術。下面列舉一些常見的技術,大家最好要了解一下。
1 JSP和Servlet
推薦資源:《JavaWeb入門到精通》,慕課網、極客學院等網站上的JavaWeb基礎課程
這是Java Web開發最原始的形態,現在很少直接使用了,但是後來的各種框架其實也是建立在servlet之上來做的。你們需要了解這兩個技術分別是用來幹什麼的,最好能寫一些demo來實踐。
對於JSP,有時候你可能還要學習jstl等標籤語言,因為這些標籤可以讓你更方便地往JSP中插入Java程式碼。
2 Spring和SpringMVC
推薦資源:《Spring實戰》,慕課網、極客學院等網站上的SpringMVC基礎課程。
事實上,除了上述資源之外,你也可以直接到官網上檢視快速開始文件。
Struts2早已被時代拋棄,Spring則是當今的霸主,你需要了解Spring如何使用,以及SpringMVC如何使用,並且學會在專案中使用它。
由於SpringBoot最近很火,並且搭建方式比SpringMVC更簡單,你也可以先學習SpringBoot,以便更快速地搭建起你的第一個Java Web專案。
3 MySQL
推薦資源:《Sql必知必會》,Runoob上的MySQL基礎教程,慕課網、極客學院等網站上的視訊課程
一個JavaWeb應用一定要有資料啊,所以我們需要用到資料庫,其實搭一個mysql資料庫是非常簡單的,但是對於初學者來說最麻煩的就是寫sql了,所以,先學會建表,熟悉sql,對你以後做專案也是大有裨益的。
4 Hibernate和Mybatis
推薦資源:Runoob上的Hibernate和Mybatis基礎教程,慕課網、極客學院等網站上的視訊課程
當你學會了使用sql去查詢資料,可能還不足以讓你在專案中很方便地處理資料,因為我們還需要一個步驟,就是把資料庫的資料轉化成Java裡的物件。orm框架就是為了解決這一問題而出現的,它可以讓一張表和Java類一一對應,讓資料查詢變得非常方便。Hibernate和Mybatis都是orm框架,只不過現在mybatis越來越火了。
所以,你需要了解這一技術,因為它會廣泛地運用到大部分Java Web專案中。
5 Maven
推薦資源:《maven實戰》,易百教程裡的maven教程,慕課網、極客學院等網站上的視訊課程
剛才我們們已經說過了Spring,orm框架,以及MySQL等方面的技術了。實際上,一個簡單的Java Web專案也只需要這些東西了。
但是,有一個問題,就是:一個專案裡用到這麼多技術,所需要的jar包也會很多,我們如何管理這些jar包呢。如果直接匯入所需jar包,那當jar包更新或者需要替換時,每次都要手動操作,非常麻煩。另外,當jar包很多時,專案打包後的war格式檔案也會很大,不利於傳輸。
為了解決上述問題,maven應運而生了。maven通過pom.xml檔案來指定所需的jar包,並且自帶了很多構建相關的功能,比如編譯,打包,執行單元測試等等,因為它本身就是一個構建工具。
當然,新手可能還難以理解這些概念,你必須要知道的是,大部分Java Web專案需要用maven來管理,你需要學會maven的基本用法,最基本的用法就是:學會修改pom.xml檔案。
6 Tomcat
推薦資源:慕課網、極客學院等網站上的視訊課程。
對於小白來說,Tomcat相關的技術是非常複雜的,畢竟它是一個應用伺服器啊,事實上這個時候,你只需要學會如何安裝Tomcat即可。畢竟,它在專案中的作用就是提供一個執行環境而已。
正常來說,你只要下載解壓Tomcat的壓縮包即可。由於現在的IDE都支援整合Tomcat,所以一般情況下你都可以在IDE中配置好你的Tomcat路徑,然後設定好你的專案路徑,IDE會自動把你的工程程式碼部署到Tomcat伺服器上。
如果你使用想跳過IDE直接部署工程到Tomcat上,也可以直接編譯工程並且打包得到war格式的檔案(這個步驟可以使用maven來完成),然後拷貝war檔案到Tomcat下的特定目錄即可。
上述兩種部署方式的詳細步驟請到搜尋引擎尋找答案。
7 Git和GitHub
推薦資源:廖雪峰的Git教程,GitHub官網,慕課網、極客學院等網站上的視訊課程。
既然要做專案,為什麼不把它釋出在GitHub上。當你熟悉了Git指令之後,你可以很方便地釋出你專案中的每一次更新,並且同步到GitHub上,這樣既可以讓你更好地管理專案版本,又可以讓你GitHub更加活躍,為你未來的面試加分。
所以,趕緊學好Git指令,然後開啟你的專案之旅吧。
04
其他常用元件
除了上面幾種必備的技術之外,有時候我們在專案中還會用到其他東西,在這裡我們把它們叫做元件。這裡只做簡單的介紹,至於具體怎麼使用,在網上都可以很容易地找到相關文章。
1 日誌系統
當專案程式碼比較多的時候,容易發生錯誤,日誌可以很好地記錄程式碼執行時的錯誤,常用的日誌系統有log4j,logging等等,另外你還需要了解一下slf4j。
2 單元測試
日誌系統可以記錄程式碼問題,單元測試則是為了避免程式碼出錯,常用的單元測試元件主要是JUnit,建議你找個文件看一看,然後下載下來玩一下。
3 JSON
JSON逐漸成為前後端資料互動的標準格式,為了在專案中使用JSON的API,你也需要匯入它的jar包,一般我們都會使用阿里提供的fastjson,趕快下載來玩一玩吧。
當然,常用的Java Web元件還有很多,比如HTTPClient,再比如一些加密工具,一些壓縮工具等等,這裡就不再一一列舉了。
推薦專案課程
現在網上的專案課程那麼多,哪一款更適合你呢?
其實我看過的視訊課程也不是很多,早先在慕課網和極客學院看過一些專案課程,覺得比較一般,對新手來說不太友好。
我的一些同學看過一些培訓機構的課程,專業講師錄的專案課程可能會稍微好一點。在我公眾號後臺回覆“Java”可以領取某機構的視訊課程,不過我不是打廣告的,這個機構也沒有給我錢啦。
當然,我最推薦的還是牛客網的視訊課程,分別是Java中級專案課和Java高階專案課。主要有幾點原因吧:
1 葉神講課,比較瞭解同學們的情況,而且技術功底擺在那裡沒的說。
2 所做的專案比較接地氣,用的技術棧也比較新,比較全。
3 我自己全程跟著牛客網的專案課做了一遍,感覺確實有收穫,而且每個章節的安排也比較合理。
4 配套有PPT,專案程式碼以及部分安裝包,可以讓你省去很多繁瑣的環節。
看來我真是牛客網的真愛粉,居然幫牛客網免費推廣~
當然,你也可以自己去找一些你感興趣的專案課程,後續我也會收集更多的視訊課程來分享給大家。
06
總結
今天的內容就到這裡了,與其說是初級篇,反而更像是“專案篇”呢。因為學完基礎內容之後,做專案是最好的複習和實踐方式了。所以這篇文章圍繞著做專案來展開,也就不足為奇了。
今天我們主要講的是,做好一個JavaWeb專案,需要哪些知識儲備,需要了解哪些技術,並且我也推薦一些比較精品的視訊課程。
後面我還會寫一篇文章,專門講一講怎麼做專案,會更加詳細,更加側重怎麼去做,敬請期待吧。
總結以下今天說的幾個要點吧:
1 Java基礎知識儲備
2 前端知識儲備
3 瞭解和使用JavaWeb常用技術
4 JavaWeb常用元件介紹
5 視訊課程推薦
俗話說的好,磨刀不誤砍柴工,相信你看了本文之後,可以更好地做好知識儲備,然後開始Java Web的專案實踐,希望你能夠順利地完成你的第一個專案。
微信公眾號
個人公眾號:黃小斜
黃小斜是跨考軟體工程的 985 碩士,自學 Java 兩年,拿到了 BAT 等近十家大廠 offer,從技術小白成長為阿里工程師。
作者專注於 JAVA 後端技術棧,熱衷於分享程式設計師乾貨、學習經驗、求職心得和程式人生,目前黃小斜的CSDN部落格有百萬+訪問量,知乎粉絲2W+,全網已有10W+讀者。
黃小斜是一個斜槓青年,堅持學習和寫作,相信終身學習的力量,希望和更多的程式設計師交朋友,一起進步和成長!
原創電子書:
關注公眾號【黃小斜】後回覆【原創電子書】即可領取我原創的電子書《菜鳥程式設計師修煉手冊:從技術小白到阿里巴巴Java工程師》
程式設計師3T技術學習資源: 一些程式設計師學習技術的資源大禮包,關注公眾號後,後臺回覆關鍵字 “資料” 即可免費無套路獲取。
考研複習資料:
計算機考研大禮包,都是我自己考研複習時用的一些複習資料,包括公共課和專業的複習視訊,這裡也推薦給大家,關注公眾號後,後臺回覆關鍵字
“考研” 即可免費獲取。
技術公眾號:Java技術江湖
如果大家想要實時關注我更新的文章以及分享的乾貨的話,可以關注我的公眾號【Java技術江湖】一位阿里 Java 工程師的技術小站,作者黃小斜,專注 Java 相關技術:SSM、SpringBoot、MySQL、分散式、中介軟體、叢集、Linux、網路、多執行緒,偶爾講點Docker、ELK,同時也分享技術乾貨和學習經驗,致力於Java全棧開發!
Java工程師必備學習資源: 一些Java工程師常用學習資源,關注公眾號後,後臺回覆關鍵字 “Java” 即可免費無套路獲取。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69906029/viewspace-2660443/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java工程師學習指南 初級篇Java工程師
- Java工程師學習指南 中級篇Java工程師
- Java工程師學習指南(中級篇)Java工程師
- Java工程師學習指南 入門篇Java工程師
- Java工程師學習指南 完結篇Java工程師
- Java工程師學習指南(入門篇)Java工程師
- Java工程師學習指南(完結篇)Java工程師
- Java初級開發工程師面試題合集Java工程師面試題
- 談談Java工程師的學習Java工程師
- 大資料初學者怎樣學習?Java工程師怎麼轉行大資料?大資料Java工程師
- 初、中、高階測試工程師成長指南工程師
- Jenkins 使用指南 之 初級應用篇Jenkins
- Java工程師【2020升級版】Java工程師
- Java初學者入門指南Java
- 從機器學習新手到工程師:Coursera 公開課學習路徑指南機器學習工程師
- 學習Grafana初級使用Grafana
- 學習Java前景怎麼樣?Java工程師工資高嗎?Java工程師
- 這有一篇Nodejs+Express的初級指南……NodeJSExpress
- 《JAVA學習指南》學習筆記Java筆記
- 是什麼讓初級工程師走投無路?工程師
- 進階指南|三個月大資料工程師學習計劃大資料工程師
- 深入淺出學習透析Nginx伺服器的基本原理和配置指南「初級實踐篇 」Nginx伺服器
- 想知道深度學習如何運作?這是所有工程師的快速指南深度學習工程師
- 趙強老師:初級學習大資料:Java基礎(1)Java入門-趙強老師-專題視訊課程大資料Java
- JavaScript 學習初篇(第一課)JavaScript
- Java學習路線指南Java
- 寫給Java程式設計師的Java虛擬機器學習指南Java程式設計師虛擬機機器學習
- 10年軟體測試工程師,只剩下這點感悟了(初級測試工程師必看)工程師
- R語言的初級學習R語言
- 手把手docker部署java應用(初級篇)DockerJava
- 初級軟體工程師深圳面試攻略|掘金技術徵文軟體工程工程師面試
- 寫給前端工程師看的Docker教程-中級篇前端工程師Docker
- 全棧工程師學習路線全棧工程師
- 自動機器學習和AI初學者指南機器學習AI
- Prompt工程師指南[應用篇]:Prompt應用、ChatGPT|Midjouney Prompt Engineering工程師ChatGPT
- MongDB學習筆記(一) 初遇篇筆記
- 程式設計師生存指南讀書筆記-第三篇(學習)程式設計師筆記
- 中級 Java 軟體工程師會遇到的事情Java軟體工程工程師