先來縷縷個人學習之路吧。大宇從2017年2月19日那天,在通過一晚上沉思後,與舍友一拍即合,要作一名出色的Java程序員。一眨眼時間就到了2018年八月份。在決定學習Java以前,大宿舍的同窗,歷來沒有中止關於「工做」的討論。討論的結果就是:沒背景的同窗就要老老實實讀書。前端
在學習Java的路上,我跟你們同樣,走了許多彎路。系統學習Java是看的網絡上的教學視頻。大宇從教學視頻裏面學會了基本的Java語法,可以熟練的打出System.out.println(a+b);。我接着看了數據庫的視頻,在同窗的幫助下,在本身的電腦上安裝了mysql數據庫。第一次成功的用Java插入一條數據到數據庫那天我激動萬分,我想不少朋友應該也感同身受。學會Java語法與基本的數據庫大概花了兩個多月的時間。在17年五月份開始進入框架的學習。大概到了六月底,學完了Struts二、Spring、SpringMVC框架的基本使用。mysql
當時是大三了,一眨眼就到了七月份,放暑假了。我一想到開學就要大四,面臨着要找工做了,但是本身還學藝不精,懼怕本身畢業就失業。因此,在2017年的那個夏天,我竟然第一次主動不玩遊戲,要求上進學習。程序員
七月份吧,花了半個月學習完了Hibernate框架。雖然是學習完了所謂的「三大框架」的使用,可是對這些框架的理解還十分的模糊。對Java是用來幹嗎的此時仍是隻知其一;不知其二的狀態,由於System.out.println()看起來毫無卵用。因而,在網上瘋狂找尋學習Java的出路。在此期間,發現了一個web系列的博客:孤傲蒼狼JavaWeb學習總結。我足足花了一個夏天,去學習JavaWeb的知識。爲了表達我對孤傲蒼狼的崇拜,後來我建立了一個「蒼狼小跟班」的賬號。如今看來,當初連最基本的Servlet都不知道,竟然就先去學習三大框架了,這是不對的。正確的學習思路是,先學會JavaWeb的基本知識,再去學習三大框架,將會有事半功倍的效果。舉個最簡單的例子,Strust2的攔截器本質就是JavaWEB中的Filter過濾器。web
九月份開學了,大宇就是一個大四的學生了。開學的時候,舍友們都是身懷絕技過來的,看樣子這個夏天,幾乎全部人都意識到要畢業了,不能再玩了。學編程的、考研的、考公務員的、進銀行的,彷佛每一個同窗都有了本身的目標,計算機專業主流的路線就這幾種。我當時的感受是回到了高中同樣,頓時壓力山大,可是也不知道本身的將來在何方。迷茫隨之而來,不知道進一步應該幹什麼。細算一下,Java基礎、JavaWEB基礎、Java三大框架都已經學過了,接下來應該學什麼?面試
在這迷茫的時候,我在網上買了一本關於三大框架的書,重點學習了Spring框架的部分。我當時發現,WEB層有SpringMVC與Struts2。數據庫層有Hibernate與Mybatis,而項目的中間層永遠是Spring框架。我意識到Spring框架是一個值得學習的框架。可是由於一些特殊的緣由,再加上自身的懶得,九月份幾乎沒怎麼學習。到了十月中旬,班長開始在班級羣裏發佈招聘信息了,這驚醒了墮落已久的我。我以爲本身不能再這樣懶惰下去了。時隔一個多月後,從新開始學習Java。sql
十月下旬,我在網上買了一本Java界公認的優秀著做《Java編程思想》,英文名是《Thinking in Java》。我記得讀完《多態》那一章的時候,真的是佩服Java的偉大魅力。這本書我花了一個月的時間,學到了泛型以前的章節。數據庫
十一月初,學校裏開始頻繁安排校招。由於咱們的學校是一個很普通的二本學校,因此來招聘的企業並非什麼大公司。而且重要的是,來校招的人不是專業的技術人員,而是公司裏面的人事部的人。我在投了三四份簡歷之後,收到了兩家公司的面試邀約。可是遺憾的是,其中一家公司但願我去作的不是Java,而是他們指定的另一種編程語言,可以在機器上運行的,具體是什麼,我也不知道。最後,我仍是拒絕了他們公司的面試邀請。另一家公司在通過筆試之後,也杳無音訊了。編程
17年11月20日。我作火車來到了南京的大型畢業生招聘會。我準備好多份簡歷,最終只投出去四五家公司。緣由是不少公司明確的說,再也不招聘Java實習生了,由於已經招滿了。有一家南京的公司邀請我去筆試,惋惜我沒有經過他們的筆試。剩下的全部投簡歷的公司都杳無音信。簡歷投出去如石沉大海,我對此十分沮喪。灰溜溜的作火車又回到了學校。此時,天空彷彿都是灰色的,我心裏無比渴望一份工做。設計模式
回到了學校,校招還在繼續。學校安排了最後一次也是最大的一次校招,若是此次尚未企業要我,那麼我將舉步維艱。學校安排在11月22日進行最大規模的校招,幾百家企業來招聘。可是,要知道,這幾百家裏麪包含了學校裏面的全部的專業。事實上,最不幸的消息是,招聘Java的其實也就是三四家公司而已。我這幾家公司我都投了簡歷,幾乎全部的收簡歷的人都告訴我,若是個人簡歷經過了,將會有一次電話技術面試。若是在11月28日以前尚未接收到迴音的,那麼也就意味着涼了。安全
從11月22日到11月28日這個星期裏面,我幾乎每天在宿舍,準備着電話面試,深怕錯過公司打來的電話。這個星期我過的是提心吊膽的日子,每一個電話都令我爲之一怔。差很少就是那種茶不思、飯不想的狀態吧。但是,即便我作了充足的準備,一個星期事後,我仍然沒有收到任何公司的消息,這讓我很是的難過,痛恨本身的無能。說我晚上心裏在流淚,絕對不爲過。
11月29號,我心灰意冷,已經絕望,盤算着春招。下午突然有家公司打來電話,說我在十一月初的校招投過他們公司的簡歷。我忽然想起來在十一月初,筆試過一家公司,我覺得早就涼了,沒想到快一個月了纔給我回復。那家公司的HR對我說,以爲個人所學符合他們公司的Java實習生位置。因而,在11月底,他們公司的技術人員對我進行了電話面試。令我十分高興的是,面試官問的問題都是十分基礎的Java問題,好比說抽象類與接口的區別,簡單的數據結構,Servlet生命週期還有Spring的核心等。由於我準備了真的好久,從十一月份開始準備面試題目,足足花了一個月的時間。我幸運的被錄取爲了Java實習生。後來據公司的HR說,當時有31我的競爭剩下的7個Java實習生位置。可見學Java的大學生有多少。真的算是絕境逢生吧,要知道,在沒有實際項目經驗的狀況下,去求的一份Java的工做,須要鼓氣很大的勇氣。這裏要值得一提的是,十一月初的那天早上,班長在羣裏說下午開招聘會,有興趣的能夠去投簡歷,其中就包含了後來錄取個人公司。在那個時間點上,動手準備找工做的同窗還寥寥無幾,班上去參加這個招聘的同窗估計就三四我的,我也是隨便投了幾份簡歷,沒想到就化解了一個月後找不到工做的窘境。因此,我之後緊緊記住了一個道理:不要輕易放棄一些機會,要相信手上的機會就是當前最須要的機會。所以,若是你仍是大學生,我想對你說,不要輕易的放棄學校裏投簡歷的機會,由於社招要求遠比校招高的多得多。
十二月份中旬,到了如今這家公司裏辦了實習手續,正式的開始了本身的實習之路。第一次看到了正式項目的大小,Java類的數量直接把我嚇尿了。之前我整個項目就一個實體類User類,如今竟然有數都數不清的實體。在找到工做之後,我又開始從新墮落了。以前電話面試個人技術人員成了個人師傅,他是有着十年工做經驗的項目經理。可是可能我是實習生吧,佈置的任務都是很是簡單的。很快,20天一晃就過去了,只學會了公司裏面的基本的編碼規範和一些常見的JavaScript寫法。
轉眼就到了元旦,2018年到來了。在一片祥和的氣氛裏面,我決定不能再這樣下午,混日子不是個人風格。
一月份,公司裏面不忙,因此自學的時間不少。公司的項目開發是多人協做開發,因此每一個人負責部分模塊。Git版本控制就成了必需要學習的一部分。剛進公司的我怎麼可能會?有一次,在我提交升級後的登陸和註冊代碼後,全項目組都登陸不上了,這個時候我痛下決心,必定要學會Git版本控制。另外,實際項目對安全性的要求很高,因此當時就去學習了一個叫Shiro安全框架的東西,是用Java編寫的輕量級框架。到了一月底吧,我可以在基本的項目裏面集成了這個新的安全框架。
二月份,過年了。過年期間沒怎麼學習。年後回到公司,整理了本身所學的Java基礎部分,將其整理成文,編寫成博客。主要整理了一些基礎的部分,好比類和對象的關係、接口、多態,還整理了一些集合框架的東西。年初上班的時候,二月份就剩下了最後一個星期,因此沒弄出什麼名堂。
三月份,已經到了畢業季。學校裏面仍是有不少事情,特別是關於畢業設計的事情。我所在的項目組又剛好處於項目上線的時候,不少事情不能也不敢交給實習生作。因此我在這個月,有着很是充裕的空餘時間。我用在公司期間的所學,爲本身的畢業設計,設計了十張表左右的數據庫,並完成了後臺的編寫。至於前端頁面,大宇花了七毛錢買了一個前端頁面的模版。至於前端頁面裏面的JavaScript,我在公司幾乎天天都接觸,因此解決的並不困難。就這樣,畢業設計就算是獨立完成了。固然了,我深知一個學Java的要本身寫頁面是多麼的蛋疼。弄畢業設計最大的收穫就是,學到了很是多的Mybatis知識。Mybatis我之前在學框架的時候,沒有特別去學習此框架,全部關於Mybatis的知識,是我在實習期間自學的。畢業設計的目標就是在SSM框架中集成所學的Shiro安全框架。
畢業設計源碼已經分享:https://blog.csdn.net/yanluandai1985/article/details/83213855
四月份,畢業設計的後顧之憂解決了之後。我又開始了從新的迷茫,我應該學習什麼?這個時候,一個叫"設計模式"的名詞進入了個人視線。四月份主要研究了不少不一樣的設計模式。可是令我失望的是,實際用到設計模式的Java代碼十分的稀少,甚至能夠說是沒有,由於能夠想象到的是,基於SSM框架的Java代碼無非就是增刪改查。這對個人學習熱情產生了極大的負面影響。直到有一天下班,我去另一個同事座位上去玩玩,我說:這個input標籤的監聽器好像就是設計模式裏面的觀察者設計模式。他們項目組的項目經理正好也在這裏,和善地對我說:「嗯,對的,監聽器其實就是觀察者設計模式,在安卓應用的開發裏有着普遍的應用」。我很高興可以聽到關於設計模式的探討,因而從新燃起了學習設計模式的熱情。
五月份,繼續把剩下的設計模式研究完畢,並整理成文之後,就沒再作了什麼有建設性意義的事情。由於這個時候,已經臨近畢業,學校裏面要求咱們要返校。在回到學校裏面之後,全部同窗好像又回到了天堂同樣。你們興奮極了,七嘴八舌的討論着豐富的實習經歷,彷彿每一個人都去過一趟外星球同樣。也難怪,讀了十幾年的書,仍是第一次離開校園。那個月,個人英雄聯盟遊戲次數,突破新高。
六月份,咱們拍畢業照,班級聚餐,試圖珍惜最後的大學時光。但時間老是匆匆而過,一轉眼就大學畢業了。我含着眼淚踏出校園,離開了吐槽了四年的大學校園,那一天,是6月15號。回到公司之後,又開始了從新的Java學習。從事了這一行,就意味着有無數的新知識要去學習。這個時候,一種新技術映入了個人眼簾,那就是「Activity工做流」。六月份正好上個項目恰好作完,下一個項目還在需求分析階段,因此時間仍是比較充足的。在這段時間裏面,我自學了Activity工做流,作了一個簡單的OA請假系統。
七月份,再也沒有暑假了。像往常同樣,我又從新開啓迷茫模式。這個時候,我開始查看一些招聘信息,看看市場上的需求是什麼。在多家招聘信息裏面,我常常看到一條:「有高併發、高負載的經驗者優先」。因此,這個時候,Thread類引發了個人注意。因而我買了一本關於多線程的書籍,在工做之餘進行研讀。到七月底,堅持看完了這本書,受益不淺。
時間過的真快,不知不覺就快寫到了如今。這個八月份主要處理了公司裏面的事情,真正坐下來學習新東西的時間很少。
好了,如今基本上是成了一個Java程序員了。年初擬定的計劃,如今執行的狀況已是南轅北轍。時間很快,2018年的八個月已經被消費了,只剩下四個月可使用。其實經過盤點本身的所做所爲或者說是學習路線,也沒什麼值得炫耀或者批評的。在成爲大牛的路上,誰不是摸石頭過河,第一次探索呢?很難說如今學的東西未來有什麼用。但畢竟,誰不肯意成爲一個厲害的人物,從而讓別人刮目相看呢?
偉大的哲學家叔本華說過:"咱們會輕易地的過度責備本身。其實,咱們走過這樣的人生路程並不徹底是咱們的所爲。這是兩種因素 ---- 一連串的外在事件和咱們不斷作出的決定 ---- 公共發揮做用的結果。這兩種因素糾纏在一塊兒,並相互影響。人生就像一盤棋局,咱們計劃好了一套走法,可是實施一套計劃的條件確是由棋局中的對弈者 ---- 亦即生活中的運氣 所決定的。一般,咱們對本身的計劃要作出大幅度的調整修正,這樣,在計劃實施的時候,原來的計劃已經變得面目全非了"。
因此,正如叔本華說的,不要過度責怪本身。若是過去沒有努力,從今天開始就好了。無論過去學了什麼,也無論將來能不能用上,它都是咱們人生中的一段不可或缺的經歷。