匹馬行天下之思維決定高度篇——道道道,學習Java之道

  • 2019 年 11 月 5 日
  • 筆記

致Java星球的程序員兄弟們的一封信

親愛的Java星球的程序員兄弟們:

  你們好!我是來自地球的一名Java程序員,首先我代表地球人對貴星球的高司令來到地球傳授Java語言,造福了全人類,造福了整個地球表示由衷的感謝!

還記得高司令剛來地球的時候,他不會說中國普通話,也不會說國際通用語之一的英語,為了能跟地球人進行正常溝通,他決定給地球人傳授他們星球的Java語言。考慮到人類從小就學習自己的母語,突然學習全新的語言肯定困難重重。可作為Java星球的精英,James Gosling認為方法總比困難多。

  在中國,他認真觀察,發現中國人都會說普通話,於是他以此為突破口,認真觀察中國人是如何學漢語的,看能不能跟Java語言有所關聯。 結果他發現一個孩童從出生到上學之前,孩子因為有家教,能與人進行正常的交流。孩子是如何做到的?高司令觀察了一戶人家,這家的男人和他的妻子從懷胎十月到孩子出生,每天都會對着孩子說一些很有營養的話,還會放歌曲,這就是胎教了。孩子出生後的一段時間雖然不能說話,但是隨着孩子一天天長大,父母常說的一些話他能聽明白,直到他能學說話了,父母就會耐心的教孩子叫爸爸、叫媽媽,這好像對小孩來說太簡單了,可能他聽的太多了,在娘胎就已經背會了,沒有任何難度,再到後來,孩子能自己走路了,父母就帶着孩子出去玩。走到路上,看到一輛車,父母就對孩子說,看,那是小汽車,看到小狗,就對孩子說,看,那是小黑狗,能汪汪叫……見到新鮮的東西總會給孩子介紹,久而久之,孩子就記住了。等到孩子再長大點,父母就帶孩子去動物園了,孩子看到各種動物很開心,看,爸爸,那是大象,看,媽媽,那是老虎。。。這時候爸爸說,我們要愛護動物。孩子有點疑惑,問爸爸,什麼是動物啊?爸爸解釋說,你平時看到的小貓小狗,還有動物園裡的這些老虎大象他們都叫動物,“物以類聚人以群分”,爸爸慢慢的說的有點深入了,但孩子似乎能理解,感覺漲了好多知識。

  高司令觀察這個小孩還沒正式上學之前,就已經能明白這麼多東西,對他以後學習漢語肯定是很有幫助的。他覺得,他也可以這樣做,先把Java語言中最簡單的變量、常量、數據類型等這些簡單的概念講給人類,讓人類先了解這些東西,久而久之,就像小孩會說簡單的話一樣,破口而出了。再之後,就可以進一步加大難度,教人類理解“面向對象“,對於這個,他們從小就知道“物以類聚人以群分”,再回過頭來理解“對象”也不是很難,Java語言中是“生活處處皆對象”,從小時候由對象認識類,而Java中由類認識對象,之間的聯繫甚是緊密,只要人們向對象有了一定的認識,Java語言的學習也不再是很難的事了。

  “不成規矩,無以成方圓”,漢語也有漢語的“規矩”,這些規矩孩子們就需要去學校進行專業系統的學習了.我們繼續說上面我提到的那個小孩吧,他從小跟父母學的是青海方言,上小學了,學校老師要求不能再說“家鄉話”了,都要說官方規定的普通話,並耐心的給他們教學說普通話的規律。孩子學得很認真,拼音掌握的很好,說普通話自然沒毛病。再後來老師就帶孩子們學漢字了,由易到難,從入門到精通,學生們邊讀邊寫,學的是不亦樂乎。久而久之,孩子就能寫一些常用的漢字了,小時候爸爸教他的小貓小狗,大象老虎他都會寫了,小賢很高興,對學習也越來越感興趣了。

  高司令看到小賢學的這麼好,深受啟發,他深知Java語言也有Java語言的“規矩”,就比如之前說到的變量,變量雖然理解着很簡單,但也有規則,變量名不能以數字開頭,區分大小寫,駝峰命名法等都是規矩,這個就需要高司令專業系統的給人類“培訓”了。等人類知道一些基礎規則後,高司令帶人類進行實踐,帶着一種神聖莊嚴的儀式感帶人類在計算機中輸出了第一句Java語言“Hello World”。此後,一些簡單的輸出對人類不再是難題了,變量、常量、數據類型、運算符等都能熟練運用,規則和實踐相輔相成,使用起來得心應手。

  中華文化,博大精深,少年強,則國強,為了國家更加繁榮富強,華夏兒女發奮圖強,刻苦學習,小賢也不例外,他學會寫字後,老師給他們教組詞,教成語,教造句,教古詩,這個過程中有個問題,孩子們好多字不認識,不過不要緊,老師又負責任的教他們查字典,一切學習都有板有眼,行雲流水。再後來就教孩子們寫作,寫作的時候可以引用好詩好句,引用的越恰當,寫作質量就越高。高司令看到這,不由引用了周恩來的一句話“為中華之崛起而讀書”,孩子們,加油。

  萬物皆相通,你要去發現其中的意思,其中的規律,現在的我還不具備這種能力,但是高司令就不一樣了,看到孩子們學組詞,學成語,學造句,學古詩,由此他教人類Java語言中的流程控制、數組、函數,其實也不難理解,因為之前基礎的規則他們都會了,現在只是運用,精簡,包裝,以更完美的形式實踐。面向對象在之前人類也有一定的了解,現在給他們講一些深層的,他們也能理解,面向對象三大特徵封裝、繼承、多態,從了解到掌握再到精通,Java語言的精髓已經慢慢流入人類的腦海中了。孩子們寫作引用詩詞能給文章增光添彩,Java語言中亦是同理,面向對象以類的形式展現,在類中你可以無限發揮,合理的運用函數,精確的使用流程控制和數組,精而簡,“高內聚,低耦合”是Java語言的加分項。類可以進行打包,進行分類,可以重複利用。孩子們學詩的時候分唐詩宋詞,哪首適合就在文章中引用哪首,Java語言亦是如此,做項目的時候,哪個類適合就導入哪個類,那麼問題來了,那麼多類,怎麼知道用哪個類呢?這個高司令早就給我們想到了,給我們準備了API文檔,跟小孩的字典差不多一個意思,只不過各查所需罷了。小孩不識字就查新華字典,Java程序員不知道導入哪個類,就查API文檔。本來以為學到這就可以下課了,但高司令意猶未盡,說Java語言形式多樣,意味深長,等你們學了註解和反射,就更能體驗了,後來人類聽高司令把註解和反射講完後,不由感嘆,好神奇啊。

  千秋無絕色!悅目是佳人!傾國傾城貌!驚為天下人!對於“美”大家都是喜歡的,”美”有很多種表達形式,美術是其中一種。孩子們也學美術,還記得小賢嗎,他對“美”的要求是很高的,他喜歡畫畫,畫的也確實不錯,有板有眼,惟妙惟肖,值得稱讚。但是如果把這些美的東西放到文章中去,就沒有那麼簡單了,因為要考慮的東西很多,排版、讀者的感受等等你都要考慮,不過小賢基本功紮實,這些問題對小賢來說也就不是問題了。從寫文章,到文章的美化,小賢都是行雲流水般一氣呵成,堪稱奇才。

  高司令也是個愛“美”的人,雖然那些表達“美”的方式和地球上不一樣,高司令是個全才,除了Java語言之外,他還會HTML,CSS,JavaScript等語言,這三種語言也是表達“美”的一種形式,HTML和CSS展示靜態美,JavaScript展示動態美。高司令是個樂於分享的人,他相信“越懂得分享,你的價值增值越大”,這就是他來地球的使命。高司令又要開課了,把這三個“美”的藝術教給了人類,人類用它們做出了很多炫酷的作品。小賢憑着他的基本功和審美標準,能把文章和相應的美化裝飾完美的結合起來,但是要想把用Java語言完成的項目進行美化裝飾,可沒這麼簡單,中間得有個過度,Servlet就是將Java後端和前端進行銜接的橋樑,Servlet其實是在服務器上運行的小程序,說白了就是一個Java類,只不過這個類比較特殊,既然比較特殊就肯定要特殊照顧了。為何特殊呢?剛說過了啊,橋樑嘛,客戶端發出的請求會交給Servlet處理,等Servlet處理完後又要由它做出響應。不過萬事萬物“有利必有弊”,Servlet的弊端就在於它在完成響應的時候描述太複雜了,需要寫很多代碼,哈哈,還有一句叫“有因必有果”,既然麻煩,那就換個不麻煩的。JSP,它能很好的解決“麻煩”,JSP其實也是一個Servlet,只是它倆功能有些差別,Servlet擅長於處理後端數據,JSP擅長於完成前端響應,如果能合理應用它倆,那就錦上添花了。說到JSP,高司令又多說了點,他說在用JSP的時候,你要是能用EL表達式,JSP的代碼就更簡潔了,EL表達式就是為了使JSP寫起來更加簡單。

  中華漢字那麼多,要想全部記住是不可能的,最好的方法就是把所有的漢字都“存儲”到字典中,等到我們忘了的時候可以查閱字典重新記憶。高司令對人類說:“在用編程語言做項目的過程中,也需要存儲大量的數據,而且這很重要,等你們能用編程語言進行編程後,會經常對數據進行存儲操作,用Java編程語言存儲的數據可不是放在字典中了,而是放在‘數據庫’中,一般情況下我們常用的數據庫有兩種,一種叫MySQL,另一種叫Oracle,你可以選擇其中的一種進行數據的存儲。不過需要注意的是,不論你選擇哪一種,你在存儲數據的時候都要用到一套操作數據庫的標準規範叫JDBC。如果沒有JDBC,可能你要用MySQL,你就需要用操作MySQL所對應的操作步驟,用Oracle,就又要考慮用操作Oracle所對應的操作步驟,但有了JDBC,存儲數據就不用考慮那麼多了,不管你用哪個數據庫,就只有JDBC這一套操作步驟,省力省時間,何樂而不為。”

  “昨夜江邊春水生,艨艟巨艦一毛輕。向來枉費推移力,此日中流自在行”。人們對“效率”的要求似乎一直是只高不低,尤其生活在大城市的人們,每天都在過快節奏的生活,每個人都爭分奪秒,一刻都不敢停下來。再看小賢,如今的小賢已經能獨當一面了,寫文章不在話下,不過現在他也在追求所謂的“效率”,憑着他紮實的基本功和多年寫文章的經驗積累,他為自己設計了幾套“模版”,假如他要寫信,就有專門的書信模版,要寫作文,也有相對應類型的作文模版,有的模版是按總分總形式寫的,開頭和結尾部分都已經寫好了,寫的時候只需要把內容寫進去即可。就問你服不服,效率高不高,別人吭哧吭哧寫半天,小賢手到拈來,高司令看了不由感嘆,“青出於藍而勝於藍”啊!

  不過人類學編程的速度也是夠快了,在高司令的耐心教導下,他們都能獨立完成完整的項目了。人類現在考慮的也是“效率”問題,他們每天研究如何快速開發一個項目。高司令看時機成熟,在人類最需要他的時候出現了,他一出現就直奔主題,對人類說:“如今你們技術小成,我很欣慰,為了表示獎勵,我決定幫你們解決你們近日苦思的問題。我最近看到你們在寫作文的時候有一些相對應的作文模板,其實今天我教你們的東西跟這個模板是一個意思,首先說一個概念叫JSTL,也叫JSP標準標籤庫,它的作用就是能讓你們這些開發人員利用它的標籤取代JSP頁面上的Java代碼,其實就是讓你們根據需求自定義模板,等到你再做開發時,你就可以根據項目需求選擇合適的模板,選好後就可以直接套用模板,而不用再重複去寫了。所以你們現在會比之前多一些選擇,你們開發項目的時候可以選擇用別人的模板,也可以自定義模板,這樣就能增加開發效率,這個模板也叫框架,就是名字不一樣,但涵義是一樣的。”人類聽完,很興奮也很激動,此後不斷努力研究,最終,好多各種著名的框架橫空出世,有Spring,SpringMVC,Mybatis(也稱SSM),Struts,Hibernate(也稱SSH),還有SpringBoot等多種框架,被後面的人廣泛應用,已成佳話。

  “萬丈高樓平地起”,就這樣,高司令費盡心思把這筆知識財富留給了人類,最後騰空而起,在人類“風蕭蕭兮易水寒,壯士一去兮不復還”的悲調中消失,回到了Java星球,成為地球人心中最美的太陽。

備註:在此聲明文中的高司令只是虛構人物,非Java之父“高司令”

總結:此篇名為致Java星球程序員們的一封信,實為對系統學習Java的概述,作此篇就是考慮到好多新手經常問我不知道學什麼,怎麼學而迷茫,因此我專門花費時間,構思了一周,把編程進行生活化,用生活中的思維去理解編程,其實也沒有那麼難,而且,我們在學校學的知識都是一塊一塊的,很少有人系統的按照整個順序進行學習,因此他們有個問題就是不知道如何把這些一塊一塊的知識融合到一起, 七劍合璧,才能發揮出巨大的威力,希望此篇能對他們有所參考價值。

 

學習鏈接:文中涉及整個Java體系,以及學習方法,可點擊下方推薦博客進行學習,祝您學習愉快,收穫滿滿。

Java學習路線:【學習目錄及學習資源獲取

Java學習經驗:【匹馬行天下之思維決定高度篇——教你如何愛上“編程妹子”

編程開發工具:【開發工具

編程學習思維:【在你迷茫時不如學好一門語言

 

 【原創聲明】:本人原創,https://www.cnblogs.com/zyx110/