CSDN 上收到一條私信,內容大致是這樣的:“二哥,我學校比較垃圾,想自學 Java 可以嗎?自學 Java 難嗎?畢業后能找到一份 6k左右的作業嗎?”
不知道 CSDN 上的其他小伙伴有沒有類似的問題,我熬了一個大爺,肝出了這條學習路線,送給大家作為參考,
難在堅持,你要是對自己的自律性信得過,自學 Java 是沒問題的,
互聯網時代最不缺的就是學習資源,學習教程,網上隨便找找,就能找到一大筐,只要你能每天花 6-8 個小時用于高效學習,半年就能入門 Java 了,
高效學習期間,一定要杜絕抖音、游戲的傭訓,可以在學習之余,獎勵自己玩一會,但千萬要控制時間,
二哥就好人做到底吧,附贈 B 站上兩個閱讀量最大的 Java 視頻教程給你,一個是動力節點的 Java 零基礎教程視頻,講解了Java開發環境搭建、Java的基礎語法、Java的面向物件,每一個知識點都講解的非常細膩,由淺入深,適合非計算機專業,想轉行做Java開發的朋友,或者您想讓Java基礎更扎實的同學,
https://www.bilibili.com/video/BV1Rx411876f?from=search&seid=14363442433047519469
一個是尚硅谷宋紅康老師的,0基礎講起,循序漸進,剖析細致且配備大量隨堂練習,涉及JavaSE方方面面,融入資料結構、設計模式、JVM等,Eclipse與IDEA并用,2萬多行代碼+3套課堂實戰專案+2套課后實戰專案+近百道企業面試真題,
https://www.bilibili.com/video/BV1Kb411W75N?from=search&seid=14363442433047519469
特此宣告,絕不是培訓中心的拖,沒必要哈,因為動力節點和尚硅谷這兩個視頻的確在 B站上很受歡迎,放在以前,估計要花好幾千塊吧,B 站這個小破站,真 YYDS!
祝你早日成功!
那為什么有人會說自學 Java 很難呢?
這里我必須得強調一點,自學感覺難,可能和自身的學習能力有關系,但更多是和教的人有關系,
雖然十多年過去了,但回想起大一時候的光景,仍然歷歷在目,
由于計算機專業是學校新開的專業,所以老師們也沒有多少教學經驗,于是我們第一學期就直接開搞 Java 這門編程語言了,教材用的是大名鼎鼎的《Java 編程思想》和不那么大名鼎鼎的《Java 開發寶典》,
由于沒有一丁點編程基礎,所以我上課的時候完全聽不懂,看《Java 編程思想》這本書就像是看天書一般,心里慌得一逼,但也沒什么好的辦法,
和我類似情況的同學還有不少,能在下半學期轉到其他專業的都轉了;不能轉的,就和我一樣瞎胡混著,
你看,遇到這種情況,肯定就很難了!
我是大二下半學期才開始發憤圖強的,因為當時匯編和計算機網路都掛科了,再這么下去,拿畢業證都成問題,這簡直對我打擊太大了,
于是就下定決心,一定要補一下,
當時也沒有很好的學習路線,網上的資源也沒有現在這么豐富(可以說是極度匱乏),從網路上找了一份李興華老師的講課視頻——用電驢下載的,李興華老師是講 Java 的,講課特別激情,很帶勁,
一開始,還是挺難的,因為基礎太差,很多聽不懂,沒辦法,一遍聽不懂,就再聽一遍,前前后后一套視頻看了有四五遍吧,
當然了,編程是看不會的,也聽不會的,只能練,
給大家一點看視頻的小建議哈,先整體上過一遍老師在講什么,然后遇到敲代碼的時候一定要暫停,先自己去理解,理解不了就去背,然后腦子里有點東西的時候就下手去敲,卡殼的時候,就重復之前的動作,直到代碼的完整邏輯全部都吸收到了腦子里,自己能在沒有任何幫助的情況下把代碼完整敲下來,這時候才能繼續,
我大概花了兩個月的時間,才把李興華的這份視頻教程刷完,算是有了點編程基礎,后面就嘗試自己主動去修修改改,看是不是還能跑的通——有很多時候跑不通,一度懷疑自己是否適合編程,太慘了,
但終究我沒有放棄,吭哧吭哧地學,按照自己的節奏,一直持續到大三的時候,
功夫不負有心人,也許是努力得到了老天的眷顧,我還是拿到了一家外企的實習 offer,
關于看書還是看視頻這件事,不用糾結,人類學習效率最高的方式,不是"讀書 + 思考",而是"觀察 + 模仿",前者需要較長時間的注意力投入,后者只需要短時間注意力,更符合人類的天性,
有些知識,讀書讀半天也不一定明白,但是親眼看別人做一遍,馬上就能懂,即使不完全懂,至少知道怎么模仿,所以才會有"百聞(文)不如一見",人們更容易接受形象的東西,而不是抽象的文字,
大部分領域的入門方式,都是"觀察和模仿",所以視頻學習更有效,對于深入學習,文字和書籍的效果可能好于視頻,因為入門以后再往上走,"理解 + 思考"的作用越來越大,"觀察 + 模仿"的作用越來越小,但是,大多數人需要的只是入門,成為專業作業者畢竟是少數,
所以,視頻學習才是初學者更好的方式,或者說,視頻是大眾學習的主流,讀書更適用于某個主題的進階學習,
以前沒條件視頻學習,現在不一樣了,智能手機的普及,使得以前沒人拍的知識,現在都有人拍;寬帶互聯網的普及,又使得人們可以隨時隨地消費視頻,我們已經進了視頻學習的時代,視頻網站可能是新時代的圖書館和印刷機,
如何快速高效地學習 Java 這門編程語言呢?
任何一門編程語言都是由下面這幾部分部分組成的:
1、資料型別、資料結構
2、邏輯判斷,回圈
3、類、函式(方法)
4、庫函式(庫方法)
5、第三方類別庫
對于零基礎的新手來說,1、2、3 可能需要花點時間 ,但只要學習教程到位,學習方法合理,一個月的時間就完全足夠了!
對于有基礎的人來說(之前學過 C語言或者其他編程語言),一周時間就足夠了,
接下來的重點是庫函式(庫方法)和第三方類別庫的學習,你能否熟練寫程式就取決于對各種開發庫的熟悉程度,新手需要不停地查手冊,查看每個方法和引數,通過大量的使用來形成肌肉記憶,
我當初就是備了一份 Java 6 的 API 在桌面上,現在還是以 Java 8 為準,
https://docs.oracle.com/javase/8/docs/api/
針對 Java 的學習,其實可以分為以下 4 大塊:
1)Java 語言入門
從基礎語法、面向物件,到常用工具類別庫開始,主要包括的內容有:
- 判斷/回圈/陣列/方法
- 物件和類/繼承與多型/抽象類和介面
- 集合框架/IO
這部分的學習,再給大家推薦一份 GitHub 上的開源教程——《Java 程式員進階之路》,專欄主要針對零基礎學 Java 編程的同學,從 Java 核心語法開始,循序漸進,再到 Java 集合框架、Java IO、Java 并發編程、Java 虛擬機,只講重點,
https://github.com/itwanger/toBeBetterJavaer
本專欄的所有配套原始碼已經在 GitHub 上開源,所以你在練手的時候可以作為參考,但盡量嘗試在每篇學完后獨立完成任務,
這個階段我是這樣安排的:
01、運行環境花一天的時間,關鍵字花一天,資料型別、運算子花一天,條件結構、回圈結構給你一個星期,方法多載、陣列也給你一個星期,
02、面向物件、this、構造方法,差不多一周時間也夠了,
03、常用API、繼承和多型、集合、例外、多執行緒、網路編程
常用API給你一天,繼承和多型給你一天,集合給你一周,多執行緒(先入門)、網路編程給你一周,至此,JavaSE的內容完畢,總的時間差不多兩個月,
2)企業級應用資料庫
資料庫技術作為資訊系統的核心技術,在企業系統開發中至關重要,所以我們不僅要學會 MySQL 的基本使用,還要掌握索引、鎖等資料庫高階知識,
- SQL,增刪改查
- MySQL,資料型別/資料操作/事務與鎖
- JDBC 與連接池
MySQL、JDBC我覺得40天就夠了,學完 Java SE 和 MySQL,基本上就能寫點小應用了,
3)Java 框架
工欲善其事必先利其器,Java 發展到現在,出現了很多優秀的框架,它們大大地提高了程式開發的效率,
- Spring:AOP 和 IoC
- SpringMVC:常用注解/組態檔/攔截器
- MyBatis:動態 SQL/集成 Spring
- Spring Boot
這一階段SSM說實話是需要花時間和精力好好掌握的,一定要把這部分內容學好,不然后面學習 Spring Boot 會感覺很困難,花上兩個月的時間去學習完全是夠了的
互聯網行業中,不論是阿里/網易,還是京東/小米,電商業務都是重要的一換,所以在學習框架的時候,最好能從一個電商專案著手,把商品/訂單/后臺/用戶/購物車/支付這一套走下來,你就能勝任不少互聯網的高薪職位了,
4)就業加分項
在學習的程序中,不僅要能夠完成專案的基本開發作業,更重要的是能把那些硬通貨吃下來,讓面試官眼前一亮,你的 offer 就穩了,
都有哪些硬通貨呢?
Java 并發編程:執行緒池/執行緒安全/執行緒通信
JVM:類加載機制/GC 機制/JDK 各種優化
Nginx:負載均衡
Redis:常用資料型別
———割一下————
自學 Java 真的不難,但也會很艱辛地敲代碼,
程式員經常需要加班,所以要做好心理準備,一旦下定決心自學 Java 了,就一定要堅持下來,不要半途而廢,
對于學習能力還不錯的人來說,學習周期大概就半年時間,這期間,除了學習知識,重要是要主動敲代碼,做一些練手專案,熟悉軟體開發的流程,
總結一下:Java學習路線+正確的Java學習方法+好的學習資料(視頻和書)+動手練習+持續學習的恒心=自學Java成功√
推薦閱讀:
去攜程實習了!半年時間,從機械轉行 Java,二哥的讀者真牛逼!
史上最強 Java 學習路線圖(2021 年版)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/296579.html
標籤:java
上一篇:IDEA常用快捷鍵總結
