用我的亲身经历来告诉你如何自学Java?
一、前言
在我的另一篇博文——【一年總結】記我的大一生活中,我其實已經談過了我的大一經歷,但是對于我自學Java的地方往往都是一筆帶過的,因為那篇博文主要是想記錄我那時所思所想,表達的主要是一種情感,而非“攻略”。
所以我覺得我有必要另起一篇來專門講講我是如何一步一步自學Java的。
二、為什么要自學Java?
有的在校大學生可能會問了,為什么要自學,跟著學校的課程走不好嗎?
我在這里跟大家算一算,拿我在的這所雙非一本學校舉例,我們是大類招生,大二專業分流,以下使我們的課程安排:
大一學的都是些基礎以及一些和專業無關的課,和專業有關的就只有數據結構和c語言。當然我不否認這些基礎課程的重要性,但在這里我想說的是,如果按照大學的課程這么走,到大二才堪堪學了一部分專業課程,而且一個大二學的東西這么雜,你敢說你能全部掌握嗎?大二相當于你在很多方向上初看了一眼,讓你認認路而已。
沒錯,就是認認路!
不要指望老師能真正教你什么。事實上,老師常年在校內做研究,其實很多技術已經脫節,你聽過老師來教你使用spring框架嗎?你聽過老師來教你flutter嗎?沒有吧,但凡和流行技術沾邊的東西,老師一律不交教。
mybatis他們教嗎?不教,教jdbc。
thymeleaf他們教嗎?不教,教jsp。
說句難聽的,他們教的技術一般都是那種不容易改變的,那些時常更新的技術一概不在他們的考慮范圍。所以語言這種東西就成了他們的最愛,語言相較于其他技術而言,變化很小,你要想想c語言可是延續了30多年,至今還在使用。
不過這也不怪他們,對于那些變化快的技術,學習成本太高了,就算學會了,他們也可能教不了幾年,性價比低,所以教育方案的思路就是讓你接觸各種基礎,讓你明白有那些路。真正深層次的東西還是得靠自己學。
所以你說自學重要嗎?
談完要不要自學,我們再來談談什么時候自學。
什么時候自學?
當然是越早越好!
我再和大家算算,如果你想在學校里有點作為,你就要參加比賽吧,但是比賽最佳時間是大二,那時候時間充裕。大三雖然也可以,但是你那時候要開始考慮你接下來的路,我團隊里負責市場的兩個即將大三的學姐都是因為自己學業的原因中途退出的。
所以你至少得在大一多學些技術,最起碼Java基礎要學成。
三、我的經歷
先自我介紹下,本人19級在校大學生,雙非一本軟件工程專業。在寫這篇博文的時候的水平可以參考我的另一篇博文——【項目實戰】個人博客(SpringBoot,SSM,thymeleaf,Semantic UI)——從設計思路到成品
很多人會很驚訝我大一就學了這么多,覺得我很厲害。
其實不然,我入學的時候也和大家一樣,都是啥也不懂,一個平平凡凡的普通人而已。
但是我為什么會甩開別人那么多,成為別人口中的大佬?其實最大的原因我已經在【一年總結】記我的大一生活這里提到過了,改變自己,就看你是否有這個決心!
其次還要講究學習的方法,本文就是圍繞這點來講講我的學習方法和理解,希望對大家有所幫助。
四、學好Java的幾個點
1.學習目的
你是否問過自己:
你學習Java是為了什么?
工作,興趣,還是學校安排?
搞清自己的學習目的很有必要,因為它會支撐起你的學習熱情和學習方向。
對于我而言,其實很簡單,我想做一款app來證明自己,多方搜索決定從Java開始。也許是一時沖動,但我不后悔!
就是這個目的支撐了我一年的學習——每當自己遇到困難,陷入迷茫時,自己親手組建的團隊、當初的豪言壯語和許下的承諾都是支撐我堅持下去的動力所在。我不能放棄,我也不敢放棄,因為我不僅要對自己負責,還要對我的團隊負責,更要對我當初的“夢想”負責!
所以我不能退!
這個目標也為我的學習指明方向,后端用到Java,我就去找Java視頻看;需要學數據庫、服務器,我就去找相應的視頻;app協作開發需要用到項目管理工具git,那我就去學git。總之,你要學什么取決于你想做什么。
所以,如果你還沒有一個能說服你自己不管不顧去學習的目標,那么我建議你停下來思考一下——你到底想要什么?
2.自律
自律其實對于一些三心二意的人來說確實很難,但是影響著我們的學習效率。
你在學習的時候,千萬不要把手機放在旁邊,不然當你光明正大的拿起手機然后對自己安慰:我就看看qq有什么消息,看完就放下。然后你就陷入手機無法自拔,吸引你注意的可能是一個推送又或者是隨手點開的視頻,等你放下手機時可能已經半小時過去了。
對于自律,我的理解是——你可以玩游戲,可以刷視頻,但是你在學習的時候就是學習,不要干其他的,要確保你學習的效率。就算你自律極差,一天只學習一小時,那你也得管住自己確保那一小時的效率。
3.自信但不自傲
你想要干大事,自信必不可少。
比如你想要參加一個比賽,看到往屆比賽選手的優異表現,你可能會覺得他們好厲害,不自覺的就懷疑自己的能力,打了退堂鼓。
殊不知,打敗你的不是別人,而正是你自己!為什么別人能做到,你就做不到呢?你連試都沒試過,怎么知道自己不如別人呢?
要有自信,相信自己,自己打退堂鼓是因為自己目前的技術能力不夠。
那不夠就去學唄,你為什么不能成為站在臺上的那個人呢?
但是自信不代表你要自傲,對待別人,一定要謙虛,這是一種態度。在這個行業里,大佬比比皆是,你不知道前一秒跟你談笑風生,問你問題的人,后一秒可能就是幫助你解決問題的人。
4.會折騰有耐心
折騰對于我們這個行業的人來說是家常便飯了,尤其是你剛接觸一個技術時,折騰是免不了的。
當你遇到bug異常時要耐心,這其實也是對你能力的一種考驗,真正的大佬正是在這種折騰中越來越強的。
5.有計劃有目標
你一定要對自己的學習路線有所規劃,要有自己的學習節奏。
當你學完一種技術,不要懈怠,不要覺得自己已經大功告成了,事實上,你只是進入一個更大的世界而已。
6.善于記錄,善于輸出
你每次學完一種技術,是不是有一種虛浮的感覺?
這很正常,每一種技術,不去實踐永遠不要說自己掌握了,你要把你的所學記錄下來。
寫博客就是一種很好的方式。當你向其他人分享自己的所學時,實際上也是在鞏固自身。而從功利的角度出發,博客其實也是你實力的證明,一些面試官很喜歡看你的博客,因為他們可以從中看到你做了哪些事。
當然有實力也可以參加一些開源項目,這對于自己的成長將會有很大的幫助。
7.學習以構建知識框架為主
大家學習的時候可能都會遇到這么一種情況,學著學著發現有個地方聽不懂,搞不明白了。
怎么辦?
我的建議是回放再聽一遍,如果還是聽不懂,那么果斷跳過去,不要去糾結。
學習,尤其是前期學習,要以構建知識體系為主。很多東西你目前可能不懂,那是因為你的知識體系不夠完善,等你學完后面的,說不定前面不會的就很順利的解決。
切記不要鉆牛角尖!
比如,你在學習些helloword時,你就不要糾結System.out.println() 為什么能夠輸出。因為這涉及到后面的輸入輸出流,以及面向對象的思想,你說你入門去糾結這個有什么意義呢?
所以構建知識體系才是你的當務之急!
五、學習路線
首先,先明確一個問題——自學編程最有效率的方式是什么?
我會毫不猶豫地回答——做項目!
不會做項目呢?
看教學視頻,其次才是看書。
說說我的學習路線吧。
首先大一學c的時候,我就課外自學c語言,看的是b站的魚c小甲魚的視頻。結果就是要上一學期的c語言被我14天學完了。
剩下的時間我學的是Java全棧學習,其實我當時看的那個只有三百多集,這個一千多集是我學完之后發現的。
跟著這系列我學到了很多,再加上我平常逛b站和知乎,自己對于Java學習有了新的理解。
到了框架部分,我就開始跳脫開這個視頻系列,不是說它不好,只是它有些過時了,學學基礎部分還好,畢竟基礎不怎么變,但是到框架部分就開始有點乏力了。
至此,我已經學了Java基礎、tomcat服務器、網絡編程、mysql、oracle數據庫。
我開始根據自身的需求來找合適的視頻,后來學了
maven、git、mybatis
之后恰逢短學期程序設計,我根據我的所學寫出了第一個我獨立完成的項目——【項目實戰】 圖書信息管理系統(Maven,mybatis)(第一個自己獨立完成的項目),這個博客出乎了我的意料,截止到我寫這篇博文時,瀏覽量已經破4萬了,收藏破2000,這給了我極大的鼓舞。
其實這之間我也忙了些我那個項目的事情,不過與主題無關,我就不細講了。
再之后我學了Spring、SpringMVC、SpringBoot,期間我參加了校軟件創新實驗室的集訓,不過我是講課的那個。
為了鞏固自身所學,我完成了我第二個項目——【項目實戰】個人博客(SpringBoot,SSM,thymeleaf,Semantic UI)——從設計思路到成品
直到現在我在寫這篇博文。
其實上面這些視頻僅供參考。只有適合自己才是最好的。
那么怎么選擇適合自己的視頻呢?
初期入門Java的時候,你可以選些零基礎的教學視頻。
標準就是,這個視頻必須要自成體系,有一套完善的學習路線,這可以讓你在初期不太懂的時候給你指明方向,把你帶進Java的大門,這種視頻可以不是最新的,但一定要有體系,最好是那些知名培訓機構的視頻,因為他們一般講的比較易懂。
到了一定程度,你對Java有了一定新的認識,你可以跳出這個體系,去找那些你想學的技術視頻。但這種視頻,時間最好是最新的,因為一般你到這種程度,技術時效性就有了一定要求,你總不希望自己學的是一些過時的技術吧。其次才是熱門程度,但你要知道一點,熱門的不一定是最好的!
最后你學到一定階段,一定要嘗試自己做項目,因為做過項目和沒做過項目真的是兩個水平。
博文到此就已經結束了,如果你對Java自學有什么疑問或者建議,歡迎在評論區評論。當然,你要是覺得這篇博文在一定程度上幫助到了你,不妨給我一個小小的贊,這將是對我最大的鼓勵!!!
愿我們都能以夢為馬,不負青春韶華!
與君共勉!
總結
以上是生活随笔為你收集整理的用我的亲身经历来告诉你如何自学Java?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java学生管理系统报告_java学生管
- 下一篇: 数据结构探险——栈篇