寫在前面的話
● 本文適合食用的觀眾大老爺和小建議:
----本文內容主要是圍繞java這門語言展開~
? 適合的食用的大老爺們:
★ 第一類:完全沒學過其他程式語言入門java的小白
★ 第二類:已經學過一門語言有了程式設計思維的小夥伴
★ 第三類:想找到java的學習路線的小夥伴
★ 第四類:希望找到學習java的小技巧、方法的小夥伴
?小建議:
★ 第一類:時間充裕的話,或者已經嘗試過從零開始學java並在開始的旅途中感到吃力。建議:可以選一門同系的語言先入手做打底,例如C語言,在有了程式設計思維再繼續楊帆啟航。
★ 第二類,可能你的入門語言是常見的C或者其他,但是都不要緊,有了程式設計思維,起步階段的你,就像跑酷的小人被加速磁鐵吸引快速往前,但是當你來到新的知識高度時,你會覺得java比你的入門語言還難。建議:建議先快後慢,先過一遍就當複習之前的知識,在最基礎的程式設計知識方面,這些最基礎都是通用的,比如變數命名、運算子、作用域、迴圈結構等,簡單過即可;學到物件導向,才是你入門開始,在這一階段你除了要擁抱物件外,還需要對抽象、封裝、繼承、多型有一定的瞭解,這對你後續的學習非常重要,建議你可以多做幾個有關繼承、多型的小demo來幫助自己理解繼承和多型。
★ 第三類:對於學習路線,我覺得小夥伴不用強迫症,知道基本路線即可,細節可以跟著學習材料(書籍或者學習視訊)走,堅持沿著正確的道路走,過程不必苛求過於精細,隨著閱歷上去了,實力上去了,我們再回來啃硬骨頭,攻克深水區。在菜鳥時期,我們的重點是學好基礎,原始碼底層等比較有難度的知識,可以等我們成長了,再回來學習。廢話不多說,我們的路線也夠基本,路線細節跟著材料走即可。java基本路線: java語言 → 前端三件套html+css+js → mysql資料庫 → javaweb → vue/react框架 → ssm框架 mybatis+ spring+springMVC → SSM框架整合 → Spring boot → 準備刷題,找實習,與外面的真實專案接軌
□ 建議也學一下一下內容:
♢ jQuery也可以在學習前端三件套的時候學習一下
♢ Ajax或 Axios 也可以在學習vue之後在深入,瞭解什麼是跨域訪問
★ 第四類:對於想找到學習java的小技巧、方法的小夥伴,同時,也希望小夥伴,“取其精華去其糟粕”,吸收對你有幫助的部分,因為我個人分享的方法不一定適合你,也希望小夥伴在評論區分享你認為很不錯的學習技巧、方法、心得等等。對於技巧和方法,我把這部分放到文章最後了,因為一棟房子建得好,技巧只是讓它更加精美,但是房主人的舒服是最重要的,基礎的地基打好,住進去才有安全感。
一、初學java,就像追一個單純的小女生,她很好懂
提起java,很多同學都知道物件是new出來的,要是單身了,是因為物件被GC了哈哈哈……開個玩笑。
■ 初學java,你只需學會:
☆ 安裝一把利器eclipse或idea以及配置好jdk環境變數
☆ 瞭解java跨平臺的原理
☆ 敲出屬於你的helloWorld
☆ java基本語法、變數和資料型別
☆ 運算子、選擇結構和迴圈結構
☆ 陣列
☆ 方法
☆ 類和物件
★ 重點是陣列、方法、類和物件
☆ 陣列:運算元組元素、陣列元素拷貝
☆ 方法:引數的值傳遞機制、可變引數、方法過載
☆ 類和物件:牢記“萬物皆物件”思想、構造器、this指向、繼承、方法覆蓋、抽象方法、抽象類、Object類、介面和實現類、多型
剛入門學java的時候,我們只需牢記思想“萬物皆物件”,在自己寫程式碼的時候,思想轉化成了一個個又一個的物件,是的,我們憑藉物件,入了java的門,很快就會非常麻溜利索地new 物件了,然後開開心心地在自己小小的demo的世界裡,做一個合格的調包俠。但是,隨著學習的深入,我們的java女神也長大了些,思想不在單純地停留在全世界皆是物件的層面,這時候我們的興趣,我們的熱情即使壓力增加了,女神魅力值增加了,追求者變得更多些,但是我們對女神的愛依然是蜜月期,愛她,更想了解她……
二、再學java,就像追一個剛剛畢業的女生,她開始變得現實難搞些……
■ 再學java,你需要學會:
☆ 異常處理、執行緒、io流、集合框架和泛型程式設計、網路程式設計
☆ 瞭解一下swing
★ 重點是執行緒、集合框架、io流
☆ 執行緒:理解執行緒和程式、執行緒同步、執行緒安全、執行緒通訊(生產者和消費者案例)
☆ 集合框架:泛型、Collection、List、Set、Map、Properties、Queue
☆ io流:檔案類、檔案拷貝、字元解碼和編碼、快取流、序列化、Properties類、隨機訪問檔案
在起步階段,知識少而簡單,java女神就像一個天真的小女生,很好懂,非常好接觸。但是java女神也會畢業,她開始變得現實。不過這時候的女生也很年輕,現實些也能理解,畢竟經濟基礎決定上層建築,想要長久發展,我們學,學學學,學好集合、io流、執行緒,讓我們繼續跟女神一起畢業……
三、深入java,就像追一個剛踏入遭受過社會毒打的女生,撩撥她需要用對套路……
■ 深入java,你需要學會:
☆ 反射機制、內省機制、代理模式、註解
☆ 瞭解java特性-lambda表示式、介面預設方法等
☆ 開始擴充自己知識,往前端三件套和資料庫走了
★ 重點是反射、內省、代理、註解
☆ 反射學習:什麼是反射、反射操作構造器、方法、欄位、反射載入資源
☆ 內省機制:操作javaBean的資訊(重點是操作屬性)
☆ 代理模式:代理原理、靜態代理和動態代理區分、動態代理jdk和cglib的使用和區別、瞭解動態代理的運用
☆ 註解:註解三要素、自定義註解的使用、在反射中使用註解
學到此,我們的java基礎已經有了,我們已經熟悉java女神的一顰一笑,懂得java女神的各種小心機,但是負責任、有擔當的我們是想給女神一個更好的未來,即使有所留戀,但是我們需要往外走,往外擴充套件新世界,去了解前端女神,mysql女神,mybatis女神……未來還沒來,但是我們看到更多的女神已經在前方向我們揮手,兄弟,穿上你的戰服,拿上你的劍,走你……
四、分享撩撥java女神的高階套路
■ 這裡我們以反射為例,講清學習的三部曲:
? 第一步:先了解反射是什麼、有什麼作用
★ 先了解反射是什麼?[簡單理解和比較官方的瞭解]
- 簡單理解:反射,就是得到類(這種物件的)類 [ java.lang.Class],得到類的後設資料的過程。
- 在執行時期,動態地區獲取某個類中的成員的資訊(構造器、方法、欄位、內部類、介面、父類等等)。
★ 瞭解反射有什麼用?
- 得到類(這種物件的)類【lang.Class】,即得到類的資訊(構造器、方法、欄位、內部類、介面、父類等等)。
? 第二步:抓住核心類,作為學習突破口,方便順藤摸瓜
♢ 細節:先關注核心類所在的包
反射的核心類Class是在lang包
? 在這一步,牢記作用+見名知意
- 反射的核心類----Class,擁有類有關的一切資訊(構造器、方法、欄位、內部類、介面、父類等等)。
牢記反射的作用是得到類的資訊(構造器、方法、欄位、內部類、介面、父類等等),則反射的核心類作用就是反射的作用,所以我們可以在反射的介面文件中找到所有有關類資訊的介面方法,結合見名知意,例如,我們可以找到獲取構造器的方法是:getConstructor,找到方法的方法是:getMethod……
? 第三步:關心怎麼使用反射
● 舉例:使用反射來獲取一個類的構造器,並通過構造器建立物件的步驟:
1)找到構造器所在類的位元組碼物件
2)獲取構造器物件
3)使用反射建立物件(呼叫構造器的方法建立物件)
♢ 在使用反射建立物件的過程,學到的細節:
- 獲取構造器的有兩個方法getConstructor 和 getDeclaredConstructor 的使用場景。
- 當一個類中的構造器可以被外界訪問同時沒有引數,可以直接使用Class類的newInstance方法建立物件
五、分享撩撥java女神的小心機
? 學習材料的選擇,看書or 看視訊?
我覺得並不矛盾,看個人喜好,視訊和書籍可以一起結合麻,沒必要區分個孰優孰壞的,重點是理解和動手實踐。
說說我的學習方式:我是以看視訊為主,看書為輔,作為課外知識充電。因為我這個看書,看那種不正經的書可是非常興致勃勃的哈哈哈,正經書,我也看,看得不多哈哈哈。
? 分享兩個看視訊的小技巧
看視訊比較多的我,有兩個小技巧要跟小夥伴分享:一個是看視訊的倍數,可以選擇1.5或者2倍速,一開始,我不習慣是加速,選擇了1.5倍速,後邊看番劇多了,習慣2倍速,學習視訊也變2倍速了哈哈哈。在學習過程中遇到一個知識點,聽起來感覺懵懵懂懂的時候,我會選擇降速重新聽該知識點,減到1.25倍速,然後再聽一遍,實在還是聽不懂該知識點,我就正常速度聽兩遍。還是聽不懂,我選擇放棄(做人需要學會放棄,才有機會重來),後邊再來。
另外一個小技巧是一個知識點學完,就模仿敲出一個知識點的程式碼,不是全聽完視訊,也不是跟著視訊的老師同時敲,我選擇等他這個知識點完全講完,程式碼也敲完,我暫定一下視訊,然後記記筆記,立馬模仿敲出該知識點的程式碼。
寫在後面的話
如果你覺得一樂的文章給您帶來了一些收穫,可以給個三連,一樂會一如既往地更新有價值的部落格。如果文章存在錯誤,也歡迎大家指出。還有,如果大家有什麼好的學習技巧、學習感悟,也非常歡迎大家在評論區一起交流~
最後感謝大家的支援,謝謝~