如何零基礎學習Java編程?

「PHP是世界上本身好的語言」程序員

——by Coder


常常有人問我,零基礎應該學習哪門語言,C/C++、Java、Pathon仍是其餘的什麼,今天咱們就來聊聊這個話題。


你們能夠先看看這篇文章,瞭解一下個人履歷,這樣文章更可信:
https://mp.weixin.qq.com/s/wIfb8va8YCMnsu6bmGIwpg


老規矩先說結論:首推Java


1. 對於一個想入門的新人來講,最重要的是先入門、上手,而後找到工做餬口。馬斯洛需求層次理論告訴咱們,首選要解決的就是生理需求,同窗們別想歪了,這裏主要指的是衣食住行。這幾門語言裏面,無疑Java是最好找工做的,國內不少公司都使用Java,也就是能夠經過學習Java進入這個行業,而後活下來,纔有機會去學習進一步的理論。面試


2. Java相比C/C++要容易學習,國內有阿里這樣的大廠,也有相對豐富的生態。因此當有人問,他不是科班出身的時候,我就告訴他,不要怕。由於我始終以爲,只要肯努力,這裏面並無什麼沒法逾越的鴻溝,何況還有這麼多的資料,這麼豐富的生態。

學習任何一門語言,不要好高騖遠,也不要急於求成。學習編程和其餘學習都同樣,也是一個積累的過程,在任何一個行業,一份耕耘、一份收穫,只要有心人,鐵杵磨成針,持續耕耘總有一天會成爲你心目中的大牛。算法



看到這裏,咱們應該如何學習、入門呢?數據庫

 

 

 

 



1. 開發環境:搭建Java的開發環境,學會安裝JDK,建議搞清楚Java是如何進行命令行編譯的,要知道path和classpath用來幹嗎,而後再使用IDE進行開發。知其然也知其因此然。

2. 基礎語法:掌握基本語法:包括操做符、運算符、循環、條件判斷,和基本等字符串、數組等處理。而後學習面向對象基本概念:接口、類、繼承、抽象和封裝;掌握多態,overwrite等。

3. 數據結構:掌握最基本的數據結構,包括 LinkedList和 ArrayList的實現機制,Map/HashMap/Set等基本容器等使用;掌握基本的棧/隊列/二叉樹等。瞭解這些數據結構等基本實現原理,算法複雜度等。

4. 多線程:掌握線程的基本概念,知道ConcurrencyHashMap等線程安全的容器的基本原理,知道線程同步、死鎖、synchronized、Runnable接口等。

5. 磁盤/網絡IO:掌握基本等數據讀取,網絡編程,這一步知道原理以後就是熟能生巧,包括InputStream/OutPutStream/Socket/Http等。

6. 數據庫:這一步知道JDBC的概念,掌握其核心的步驟和API。掌握基礎以後須要知道數據庫事物,鏈接數據庫使用的鏈接池,以及爲何要使用鏈接池。


以上掌握得八九不離十了,你就能夠去找工做了,工做中常見的都再上面了。可是如何到中級呢?

1. 設計模式:咱們不能只作API BOY,在工做中會實現各類需求,在這個時候帶着業務去實踐設計模式,推薦一些書,好比《大話設計模式》《Java與模式》,看完你會知道委託、工廠模式等等一系列的概念。

2. 數據結構與算法進階:知道基本數據結構的實現,能夠本身動手寫;實踐排序的各類算法和實現,包括時間複雜度;實踐二叉樹的實現,知道其各類遍歷方式,實踐動態規劃算法、貪心算法、最短路徑等常見算法。若是這一步學得好,那麼恭喜你,能夠面對國內大部分公司的面試了。

能夠說從基礎到進階,和專業到計算機畢業到已經相差無幾了,若是掌握90%以上,甚至科班都不如你。這個時候你能夠考慮跳槽了,薪水漲漲漲!

可是這個不是咱們終極都夢想,咱們須要跨過中年危機,如何更高階呢?

1. 思考:工做這麼多年,其實發現人與人最大到不一樣,在於有些人很早就學會獨立思考,有些人不會。會獨立思考到人早早就規劃好了本身的職業生涯,知道本身須要什麼,在什麼階段作什麼事情,這樣差距就一步一步的拉開了。
一樣的,對於編程Java發展到如今,被用在各類各樣的情景之中,能夠作後臺服務端開發,能夠作客戶端開發,毫無爲過的說它是應用最普遍的編程語言。有了上面的基礎以後,還能夠深刻研究一下JVM的源代碼,以及其實現機制,垃圾回收算法等等。
也能夠考慮本身要不要專攻一個方向,咱們的教程會以服務端的開發爲藍本,能夠從Spring入手,搞清楚反射,控制反轉,依賴注射,切片編程等,這些讓人望而生畏的概念,入門以後就要想,爲何會有這些東西,本身能不能設計並實現。在工做中與大多數優秀的程序員交流的時候,其實你們聊到這些,讓他從零開始,也會設計得八九不離十。編程


2. 架構:這個時候,咱們就算是高階開發程序員了,要思考更多的東西,同時負擔的工做也會更重要了。好比負責設計一個服務的架構,須要思考高併發、分佈式,如何提供更健壯穩定搞笑的後臺服務。到了這一步,一些常見的後臺架構也會有常見的模式,可是不一樣的業務決定了不一樣的狀況,這個時候,須要咱們深刻思考,通常沒有什麼捷徑,須要靠本身的悟性、對業務敏感性。設計模式


這個時候咱們就算一個有些修爲的高階IT狗了,年薪30W不是夢想,甚至更高。數組


程序員的編程世界是簡單的,永遠都是有付出就會有收穫。這裏也是一個平等自由國度,只要學習就會有進步。
這裏有學習的樂趣,也有徵服的快感

願你Enjoy!安全

能夠添加博主vx交流:crazy042438網絡

小夥伴們,要不也給一個贊吧。數據結構

相關文章
相關標籤/搜索