小白如何學習Java編程?

流淚谷


把下面這些內容掌握以後,你就是一位靠譜的Java後端工程師了。文末有我整理的Java資源大禮包,加起來可能超過3T的資料合集!

前言

學習路線圖往往是學習一樣技術的入門指南。網上搜到的Java學習路線圖也是一抓一大把。

今天我只選一張圖,僅此一圖,足以包羅Java後端技術的知識點。所謂不求最好,但求最全,學習Java後端的同學完全可以參考這張圖進行學習路線安排。

當然,有一些知識點是可選的,並不是說上面有的你都要會啦。我在複習秋招的過程中就是基於此圖進行復習的,感覺效果還是不錯的。

閒言少敘,我們還是看看這張圖上都包含哪些有價值的信息吧。再次說明,本文只對路線圖做一個簡單地解讀,僅供參考。大家可以根據自身情況來指定合理的學習計劃,相信也會大有裨益。

由於圖片比較大,如果覺得看不清楚,可以點擊原文鏈接查看原圖。

微信公眾號【Java技術江湖】一位阿里 Java 工程師的技術小站,作者黃小斜(關注公眾號後回覆”Java“即可領取 Java基礎、進階、項目和架構師等免費學習資料,更有數據庫、分佈式、微服務等熱門技術學習視頻,內容豐富,兼顧原理和實踐,另外也將贈送作者原創的Java學習指南、Java程序員面試指南等乾貨資源)

1 計算機基礎

這部分內容是計算機相關專業同學的課程,但是非科班的小夥伴(譬如在下)就需要花時間惡補了。特別是計算機網絡,操作系統,數據結構這三門課程。

至於編譯原理,個人大概懂一點就行了,我也只看過簡單的概念和狀態機相關的內容,並不是特別重要。

2 Java編程

這裡的Java編程部分包含了很多內容。我們可以分別看看,大概歸納一下就是這幾個部分。

Java基礎

這裡的Java基礎包括基本語法,集合類框架,以及一些高級特性,比如反射,註解等等。

Java基礎的知識點非常多,所以要真正搞懂也沒有那麼簡單,另外,隨著時間推移,一些新特性也需要得到我們的重視,比如時下流行的JDK8。

設計模式

我一直覺得設計模式可以和Java基礎一塊學,所以我也把它放在這裡。當然,一些真正使用到設計模式的地方,譬如JDK的集合類,IO流等等,也需要你足夠重視。

Java Web技術

Java Web技術包括J2EE,以及web框架,乃至一系列常用的組件。

1 J2EE主要包括的就是servlet,jsp這些比較復古的web開發組件了。雖然現在直接用它們的情況比較少,但是我們還是需要花一些時間去掌握它們的。

2 web框架常用的就是Spring了,相應的,hibernate和mybatis也需要了解一下。

3 同時,JavaWeb開發時的常用類庫,比如jnuit單元測試,log4j日誌工具,以及構建工具maven,都屬於我們要掌握的範疇。

4 最後,要注意的是,Web相關的一些基本知識,比如HTTP協議,網絡安全基礎,也是我們要考慮的部分。

Java併發技術

Java的併發技術泛指Java的多線程技術,以及JUC包裡的併發類,比如線程池,併發工具類,阻塞隊列等等。

Java併發技術完全可以獨立出來學習,是Java進階知識的一大重點。

Java網絡編程和服務器

這一塊內容是Java中比較複雜但也很重要的一塊內容。比如BIO,NIO,AIO的一些使用和原理,以及tomcat這類web服務器,甚至是netty這種網絡編程框架,都是可以去了解和學習的內容。

Jvm基礎與調優

JVM是提供Java程序運行的一個進程,學習JVM知識,也是我們的必經之路。除了看懂《深入理解jvm虛擬機》以外,我們還要學習的內容就是JVM調優,使用合適的工具診斷問題,最後解決問題。

這部分內容在面試中呈現的不僅僅是GC,內存分區,以及類加載器,也包括了我所說的JVM調優問題。

3 Linux

作為後臺同學,常年被面試官問linux相關的問題,所以覺得學好linux還是蠻重要的,除了基本命令以外,最好還能瞭解一些shell腳本,甚至是內核相關的知識,這方面是我的一個弱項。

4 數據相關

在這個路線圖裡,數據部分囊括了非常多的數據源,我們可以來看看都有哪些是我們需要掌握的。

關係數據庫Mysql

這個不必多說,人手都要會,不管是基礎的crud,索引,抑或是進階的存儲引擎,分佈式方案等,我們都需要對應掌握。

緩存

如Redis,memcache一類的緩存,作為後端開發者的我們也需要對應掌握,當然,它們的高級特性,以及分佈式方案,也是必備的知識點。

搜索引擎

基於Lucene的solr,elasticsearch這類搜索引擎,本質上也是數據源,但是並不是後端必備的內容,不過學一學也沒有壞處啦。

大數據

海量數據處理的場景越來越多,大數據技術如hadoop,storm等也越來越火,但是大數據應用一般會由專業的大數據工程師來做,所以我們學一些基本內容也就足夠了。

5 算法和數據結構

算法一直是校招同學面前的一座大山,作為後端同學來講,除了基本的數據結構算法以外,也要會一些高級的算法,譬如dp,搜索,貪心等等。

另外,通過LeetCode等題庫來刷題的方式來鞏固算法也是公認的好辦法了。

6 分佈式

最後一個部分,也是內容最多,覆蓋面最廣泛的部分了。分佈式相關的技術實在太多了,我們這裡也會做一下簡單的歸納。

web架構

先了解web架構的發展會對分佈式的學習有更好的理解,畢竟架構的發展也對應著分佈式技術的發展。

分佈式理論

這部分內容包括分佈式的發展演化,base理論和cap理論等等,學習分佈式技術之前,最好能對這部分概念有一定了解。

一致性問題

強一致性的解決方案:事務和鎖,弱一致性的方案:消息隊列。

分佈式session

一個常見的問題,也有多種解決方案

分佈式緩存

和上面說的緩存一樣,只不過這裡側重緩存的分佈式方案

分佈式數據庫

這裡指的數據庫的分佈式方案,也包括hbase這種分佈式數據庫。

負載均衡

負載均衡也是一個值得探討的話題,一般我們討論的是七層和四層負載均衡。

消息隊列

消息隊列是一個比較複雜的分佈式組件,我們可以瞭解常用消息隊列比如amq,kafka等的實現。

服務化

服務化的核心包括rpc,服務註冊中心等等。分佈式服務相關技術也是後端同學必須掌握的內容。

虛擬化

虛擬化同樣不是後端同學必須掌握的內容,只不過現在越來越多的服務部署方式使用的是docker和雲服務的方式。所以瞭解一下也沒有什麼不好的。

敲黑板!!!我最近剛整理的Java學習資源大禮包,希望對各位有所幫助。

1、Java電子書大合集

2、Java基礎學習資料

3、2018Java視頻課程

4、Java學習資源大禮包

5、Java架構師視頻課

6、Mysql視頻課程

7、Java算法課、筆試面試課

除此之外,還將贈送我原創的求職面試大禮包

領取方式:關注微信公眾號【Java技術江湖】後回覆“Java”即可領取上述所有資料。

http://weixin.qq.com/r/oC8YAA-ENlJJrUtj93qy (二維碼自動識別)

如果你想感謝我

平時多關注一下公眾號發的文章,沒事打開看看,點點“在看”或者“guanggao

資料都是免費送的,沒有轉發、集贊等套路,你也不用給我發紅包感謝我,不要錢噠~

覺得資源還不錯的話,分享一下讓更多的人來獲取福利吧

微信公眾號【程序員黃小斜】作者是螞蟻金服 JAVA 工程師,專注於 JAVA 後端技術棧:SpringBoot、SSM全家桶、MySQL、分佈式、中間件、微服務,同時也懂點投資理財,堅持學習和寫作,相信終身學習的力量!關注公眾號後回覆”架構師“即可領取 Java基礎、進階、項目和架構師等免費學習資料,更有數據庫、分佈式、微服務等熱門技術學習視頻,內容豐富,兼顧原理和實踐,另外也將贈送作者原創的Java學習指南、Java程序員面試指南等乾貨資源

Java技術江湖


現在的java視頻教程確實是不少,但是那套視頻教程更是和自己呢?

java教程我個人建議你可以去B站上看看老杜的159集視頻教程,這套視頻教程面對的人員就是零基礎的人員。

這套視頻教程在B站上的播放量是160多萬,可想這套視頻教程的質量有多麼的好。

這套視頻教程是專門從初學者角度出發,通過通俗易懂的語言、豐富多彩的案例,詳細介紹了使用Java語言進行程序開發需要掌握的知識包括初識Java、Java語言基礎、流程控制、類和對象、封裝、繼承、多態等。所有知識點都結合具體實際案例進行講解,涉及的程序代碼給出了詳細的註釋,可以讓你快速提高開發技能。

而且我個人感覺這套視頻教程是所有java基礎教程中講解的最細緻的一套視頻教程。


14885321


很多時候一個行業好,那就全民學習,不管有基礎還是沒有基礎的,都朝著這個方向去學,但學習的時候很多人想了,我沒時間,也不想付學費,那就自學Java吧,反正目前很多專業都能自學成才。

很多時候在問到諮詢Java方面的學生,問他們是否有基礎,都是說我以前自學過Java,有一定的基礎,那麼既然自學過,而且基礎也不錯,為什麼不接著自學呢?其實是源自於Java課程的多樣性,大家都知道Java,但是你們卻不知道Java不僅僅要學C語言,還需要學習HTML語言,還要會SQL和oracle等各種數據庫,當然還有其他的就不在一一列舉。其實你所謂的基礎最多不過是一個部分中的一點而已。

我們自學難是因為沒有師傅領進門,如果你選擇的是Java培訓機構,學習時自然就容易的多。通過專業的老師指導,把各個知識點穿插到項目中去講解,達到融匯貫通的目的,確保學員去企業就可以勝任項目開發,當然選擇Java培訓機構一定要選擇師資力量強的學校,選對院校,小白學習Java也並非難事。


甘肅優就業IT培訓


學語言不難,就是看教科書,做練習題。把語言的要點都看明白,通過做題實踐,加深理解。一定要多做上機的題,就是在電腦上敲代碼,調試,運行。

學習基本的數據結構和算法,學會數組的遍歷、排序,或者鏈表等。

等語言有點熟悉之後,試著想一個小項目做做。這樣會有成就感,也知道學了語言有什麼用,怎麼用。

項目雖然簡單,卻是一個真實完整的項目。不僅練習了對語言的應用能力,也體會了軟件開發的全生命週期,即軟件工程,從項目的需求分析,到設計開發,到軟件發佈和項目驗收,最後到軟件的維護。

這樣,基本上就上道了。

最好輔以其他課程,如計算機原理、數據結構等。




一分鐘說軟件


雖然不斷有新的語言出現,但從目前的行業趨勢來看,Java工程師在未來很長一段時間內,依然是最有前景和發展空間的崗位。想要學習Java併成為一名受歡迎的Java開發工程師,最靠譜的就是去培訓了。那Java培訓機構哪家好?

一、看師資

師資是學習一門語言的重要保障,Java是一種理論與實踐結合的編程語言,所以作為教授Java的講師,除了理論知識要豐富外,他的技術能力也要非常紮實才行。也只有這樣你才能在這裡學到真正的東西,如果一個講師連你的疑問都解答不了,那麼你認為這個講師還值得信任嗎,所以師資的好壞也是選擇培訓機構時非常重要的一點。

二、看課程內容

Java培訓機構哪家好?課程內容是一定要了解的,看看該培訓機構的課程是否實時更新,以適合企業的最新要求,再一個要看怎麼去講課,怎麼去做項目,講課的深度怎麼樣,這才是最重要的。

三、看項目

想要成為一名受歡迎的Java工程師,豐富的項目經驗是必不可少的。所以我們在選擇Java培訓機構的時候要注意這些機構是否有項目實踐,但要注意的是,有些培訓機構的項目都是很久之前的,這裡面用的技術很多都是過時的了,根本無法貼合企業的實際需求,而這種類型的培訓機構顯然是不適合的。我們要找的是那種具有企業真實項目實踐的培訓機構,而且項目越新越好,這在一定程度上代表著這些培訓機構會教你最新的Java技術。

四、看教學環境

環境對於學習也非常重要,好的環境,好的氛圍能讓你更好的學習。所以,我們在選擇Java培訓機構哪家好的時候,人數儘量不能太多,一定要小班教學,人數過多,一個老師根本照顧不過來,老師和學員良好的溝通是獲取項目經驗的重要渠道。好多學生往往從外在的環境來評價一個武漢Java培訓班的質量,這樣的懷疑是人之常情,但是也不要被外在的環境所迷惑,從而錯失了好機會,一定要去挑真正能學到技術的,真正的就業非常好的,也不要被網上的一些傳言所迷惑,記住一點,再好的學校也會被同行說不好的!

千鋒Java培訓全程面授模式,大牛講師帶領學員從基礎逐步向高層次進階,學習期間學員不僅可以掌握最實用的Java技術,更能積累豐富的項目實戰經驗,成為一名上崗即用的Java工程師。

選擇千鋒Java培訓,將帶領你成功入門,走上Java開發工程師之路。


千鋒武漢


其實相關的問題,小朗也是回答過不少,不知道題主有沒有在社區上看到過我。

初學者,怎麼學習Java,無非有兩種方式,自學,或者培訓。

自學,對自身的要求更高,需要具備自制力,學習能力,能吃苦,能堅持,能合理的規劃自己的學習時間,有完整學習的計劃,知識體系,實踐經歷,不然自學到最後也是白學,找不到工作。

培訓,除了需要自身的努力之外,更多的還要學會選擇平臺,選擇一個靠譜適合你自己的平臺。

那麼一般應該怎麼選擇呢?

1.看市場口碑,看規模,市場口碑反饋怎麼樣(可以問身邊的朋友,網上查詢),看規模的話可以去實地瞭解。

2.看師資水平,這個怎麼了解(去實地的感受,試聽,上課。)

3.瞭解其學員的學習反饋,可以去現場問,諮詢,現場的情況最能反映其真實水平。

4.看性價比,這個怎麼來看,貨比三家,擇優而選。

----------------------------------------------------------------------------------------

如果題主是要問具體的如果自己學Java怎麼學的話,建議可以找一些線上的課程學一學,再配合著看書,實踐,打發消磨時間也是可以的。


成都朗沃教育


同樣作為一個想學習Java的小白,我建議你第一步,先自己從網上找找資源,看看自己能不能接受的了這些知識,看接受的難易程度。如果感覺可以接受或者學習起來不太困難,堅持一個月左右,從網上找資源自學,現在網上關於Java的資源多的是,你先學習學習,入個門,一個月之後如果還有興趣,可以考慮第二步。第二步,考慮報班或者系統規劃自學路線,報班就不說了,會有老師帶著你係統得學習。自學的話,路線一般是Java基礎,包括對象,集合,輸入輸出,異常等等,然後還有數據庫相關,web相關,前端基礎,最後還有框架,大概這麼個路線,說了這麼多,僅供參考。希望有個好未來。


秋名山的路


學習的方法有很多,但能夠最快掌握的還是參加培訓班學習,個人的真實感觸!我之前也曾自學過,但一是時間精力有限、學習進度慢,二是有不懂得地方就卡殼了,也沒人可以問。後來狠狠心、咬咬牙去廣州棠下那邊報了培訓班,學完之後覺得還是挺值得!


漫步雲端


你可以在各種網上學院自己學習Java甚至其他技術領域 推薦你來阿里雲大學學習 裡面有最全面的Java 從零基礎開始,還有學前自測試題可以讓你清楚本身已經掌握的知識 鏈接:(https://edu.aliyun.com/roadmap/java?utm_content=g_1000055355)下面在給你附帶一張Java學習路線圖:


開發者乾貨分享


搭建環境

hellworld

字符串操作

文件操作

多線程

網絡

正則

框架

實戰


分享到:


相關文章: