最近,在知乎上看一個(gè)關(guān)于Java是否自學(xué)的話題。話題下有兩種聲音,一種說一定要自學(xué),沒必要找培訓(xùn)班,浪費(fèi)時(shí)間浪費(fèi)金錢。還有一種聲音說如果沒有超強(qiáng)的自律能力,在面對(duì)困難的語言很容易放棄的,這難道不是浪費(fèi)時(shí)間嗎?其實(shí),我想說java當(dāng)然可以自學(xué)的,自學(xué)只是比較辛苦而已。如果你真的下定決心要自學(xué)了!那你就做好每天早六晚十的生活,不然你可能很難學(xué)會(huì)!今天,小編舉兩個(gè)真實(shí)的java學(xué)習(xí)案例分享一下,大家可以自己選擇嘍!
一位大廠java工程師的自學(xué)經(jīng)歷
背景資料:大學(xué)本科學(xué)的是電子專業(yè),選修課是java。
學(xué)習(xí)契機(jī):在找工作時(shí),處處碰壁,發(fā)現(xiàn)自己專業(yè)知識(shí)不足,而且很多工作都需要會(huì)java。所以自學(xué)Java,最終拿到了心儀公司的offer,職位就是JAVA開發(fā)工程師。
學(xué)習(xí)經(jīng)歷:每天早上6點(diǎn)起床,復(fù)習(xí)前一天所學(xué)的相關(guān)知識(shí)。8點(diǎn)的時(shí)候,下樓買早餐,邊吃早餐邊背英語單詞。9點(diǎn)的時(shí)候,在論壇、貼吧上獲取最新的java信息,和大神交流。11點(diǎn)的時(shí)候,開始看視頻學(xué)習(xí)(中午休息半個(gè)小時(shí))學(xué)到下午6點(diǎn)。在刷遍論壇,學(xué)習(xí)中遇到問題的答案,實(shí)在不會(huì),就發(fā)帖子尋求幫助。再不會(huì)的時(shí)候,只能付費(fèi)找人解答了。晚上8點(diǎn)的時(shí)候,看java書籍,做筆記。12點(diǎn)左右上床休息。周而復(fù)始,堅(jiān)持了3月有余,最后成功的進(jìn)入了大廠。
一位小廠java工程師的自學(xué)經(jīng)歷
背景資料:大學(xué)?茖W(xué)的是電子商務(wù),選修課是java。
學(xué)習(xí)契機(jī):大學(xué)老師推薦大家好好學(xué)習(xí)java,說畢業(yè)之后,好找工作。他為了能找到高薪的工作,所以選擇學(xué)習(xí)java。
學(xué)習(xí)經(jīng)歷:每天起床想著自己一定要學(xué)會(huì),在貼吧論壇尋找java相關(guān)資料進(jìn)行學(xué)習(xí),可自學(xué)了一段時(shí)間后,發(fā)現(xiàn)學(xué)不會(huì),搞不懂身邊還沒有人提供幫助。漸漸的開始為自己找借口,學(xué)不會(huì)是因?yàn)闆]有教,看不懂是因?yàn)閖ava本身就難。最后,報(bào)了一家培訓(xùn)班。
以上,兩位自學(xué)java的小伙伴經(jīng)歷,不是說自學(xué)不好,但一定要堅(jiān)持。規(guī)劃好學(xué)習(xí)路線,嚴(yán)格遵守。如果像第二位小廠java工程師那樣,三天打魚,兩天曬網(wǎng)。最后坑的還是自己,還不如選擇找個(gè)培訓(xùn)班學(xué)習(xí)呢?蔁o論自學(xué)還是找培訓(xùn)班,都需要好的學(xué)習(xí)路線,小編整理一下嘍!
自學(xué)的學(xué)習(xí)路線:
1.從論壇、貼吧上獲取最新信息,通過閱讀論壇、貼吧上的信息,補(bǔ)充自學(xué)過程中的遺漏。 同時(shí),還要和一些樂于分享的答主多多接觸,從而擴(kuò)充自己的人際圈子。
2.閱讀編程書籍
無論你是否選擇通過閱讀的方式來學(xué)習(xí)Java,Java工具書都是必不可少的,因?yàn)樵趯?shí)際工作中,也難免會(huì)遇到需要查閱書籍來確定問題的情況。推薦Java書籍界的圣經(jīng)《Thinking in Java》,中文版《JAVA編程思想》,《head first java》《head first servlet》等等。
3.學(xué)習(xí)免費(fèi)的視頻資源
隨著互聯(lián)網(wǎng)的普及,越來越多的知識(shí)都可以通過網(wǎng)絡(luò)來獲取,這也降低了學(xué)習(xí)的門檻。不妨在網(wǎng)易公開課,慕課網(wǎng),青鳥云課堂甚至是B站等網(wǎng)站上,尋找學(xué)習(xí)資源。畢竟只要輸入關(guān)鍵字,就能搜到其他人認(rèn)真構(gòu)思的課程與教案,同時(shí)免去了你為自己計(jì)劃學(xué)習(xí)進(jìn)度與學(xué)習(xí)深度的工作。
培訓(xùn)機(jī)構(gòu)的學(xué)習(xí)路線:
基礎(chǔ):
1)Java環(huán)境搭建,InteliJ Idea的基本使用
2)Java數(shù)據(jù)類型、基本語法、數(shù)組的使用
3)面試對(duì)象繼承、接口與抽象類4)文件讀取、網(wǎng)絡(luò)通信、HttpClient、數(shù)據(jù)庫JDBC的使用
5)多線程的使用
6)MyBatis使用
7)SpringBoot的基本使用
8)實(shí)戰(zhàn):做一個(gè)拉勾數(shù)據(jù)爬蟲,及簡單統(tǒng)計(jì)報(bào)表
中級(jí):
加強(qiáng)理論知識(shí)學(xué)習(xí)包括但不限于:
1)Redis緩存的使用
2)消息隊(duì)列的作用和使用
3)多線程之間的數(shù)據(jù)通信方式
4)SpringCloud的各組件概念的掌握和使用
5)SQL語句性能優(yōu)化
6)23種常用設(shè)計(jì)模式的概念
7)實(shí)戰(zhàn):做一個(gè)簡歷多平臺(tái)一鍵發(fā)布的應(yīng)用
高級(jí):
1)數(shù)據(jù)庫讀分寫離的實(shí)現(xiàn)2)DB分表分庫的實(shí)踐,如MyCat等中間的使用
3)JVM、Tomcat性能分析與調(diào)優(yōu)
4)SSL通信原理,數(shù)據(jù)加密算法的選擇和使用
5)設(shè)計(jì)一個(gè)秒殺系統(tǒng),及壓力測試工具的使用
6)實(shí)戰(zhàn):用JMeter壓測你的秒殺系統(tǒng)性能,測試機(jī)器橫向擴(kuò)展的平滑度,并輸出報(bào)告
專家:
1)了解Hadoop、ZooKeeper
2)了解HBase、Hive
3)了解 Kafka、Flume 日志收集系統(tǒng)
4)了解 Spark 等大數(shù)據(jù)分析組件
5)實(shí)戰(zhàn):打造一個(gè)用戶行為實(shí)時(shí)分析框架,篩選優(yōu)質(zhì)用戶和欺詐用戶
最后,小編想說無論是自學(xué)java還是找培訓(xùn)機(jī)構(gòu)學(xué)習(xí)java,都要學(xué)會(huì)“堅(jiān)持”二字。只有學(xué)會(huì)堅(jiān)持,才有可能達(dá)到你的目的。愿我們都能找到屬于自己的方向!