Java在工作中用來干嘛?如何學習Java?Java學習起來復雜嗎?英語不好數學不好能學好Java嗎?首先本人只是一個普通的軟件工程師,上班還要碼代碼,下班還要帶娃,私信不能一一回復,請見諒,但是又不想拒絕大家的問題,所以開這篇文章說一下,如何成為Java軟件工程師?首先,學習Java能用來做什么?Java目前有哪些就業方向?
兩個重要的方向Java Web和Ardroid方向,其實我們經常說的Java軟件工程師,我覺得應該叫Java Web軟件工程師或Java后端(服務端)工程師比較貼切一些。Java Web能做的事情非常多,我們在使用淘寶去查找商品時,打開瀏覽器輸入網址,輸入商品名稱,點擊搜索,這時候前端頁面(瀏覽器)通過HTTP協議把商品名稱傳遞到Java服務端,Java服務端利用JDBC技術從數據庫里檢索數據并返回,再組裝成網頁內容返回給瀏覽器,繼而展現在用戶面前。Java Web要學的東西很多,網絡請求協議(HTTP等),Web前端技術,Java服務端技術,JDBC、數據庫等都要學習。
Android要學的東西稍微少一點,Android一般是客戶端軟件,基本上不涉及到服務端,理論上來說可以不關注服務端技術(灰色框里的內容)和后臺數據庫,但我覺得要做一個合格的Android工程師,這些東西還是有必要去花時間了解的。同樣的,Android工程師也需要學網絡請求協議(HTTP等),畢竟也是要通過Web服務器去數據庫里拿數據回來展示到APP上。目前混合開發(原生+HTML5)的APP越來越多了,因此還需要學習一些前端知識。
注意,Android方向圖里的Web服務器可以用Java來寫,也可以用其它語言來寫,比如C#等,但安卓程序員不需要關心。
不管學Java Web還是Ardroid,Java基礎(J2SE)都是必需要學的,后面會詳細說這兩條路要學習的內容。其它的還有一些桌面程序(Swing/awt),嵌入式開發(J2ME),JavaFX開發,基本上已淘汰,不好找工作,不推薦大家學習了。
除此之外,Java還有一個大數據(Hadoop)方向,但新人不推薦選這個方向,等有一定的工作經驗后再介入。
很多人私信問我,Java就業環境怎么樣?Java難學嗎?數學不好英語不好能學好Java嗎?
Java依然牢牢占據著排行榜首位,所以說Java就業市場前景相較于其它語言還是比較有優勢的。
Java簡單易學,Java是類C語言,語法和C/C++沒多大的區別,相信大家上學時多多少少都學過一點C或C++語言,所以很多容易上手,Java還拋棄了C++ 中那些很少使用的、很難理解的、令人迷惑的特性,如操作符重載、多繼承、自動的強制類型轉換等,和C/C++不同的是Java是運行在JVM(Java虛擬機)上的
JVM屏蔽了底層操作系統的細節,為開發者做了很多事情,比如內存的分配和回收等,因此,Java開發人員不需要在寫程序時候考慮對內存進行分配和回收,也無須考慮內存碎片的問題,這部分工作已經由JVM來完成了。這也是Java語言能跨平臺的原因(一次編譯,到處運行)。也就是說,只要能安裝JVM的機器,理論上都可以運行Java寫的程序。有人說C#也很簡單呀,同樣不需要分配和回收內存,而且語言設計得比Java更優秀,為什么不選擇C#呢?
對于新手入門和找工作來說,我推薦Java,其實,大家也不用糾結到底選擇哪一門語言來進行入門,比如Java和C#這兩門語言,在思想上基本上是一致的,Java會了,C#熟悉一下語法和環境馬上就能上手寫了,反之也一樣。
Java對數學要求不高,常用的數據結構和算法,都已經封裝好了。Java主要是用來做企業級應用,大型網站等,主要是處理業務邏輯,而不是科學計算,所以數學不好的朋友也不要擔心。對于寫Java代碼來說對英語的要求也不高,一共幾十個關鍵字,大多都是一眼就知道什么意思的,如if,else,while,for,public,private等,不要看到老鳥的屏幕全是英文就嚇到了,其實那些英文只是變量名而已,都是自己起的名字,雖然英語不好對編寫Java程序沒多大影響,但是閱讀英文的API幫助文檔就比較吃力了,很多一手的資料都只有英文文檔,JDK源碼也是英文注釋,但是也無需過度但心,大部分API都能找到中文版本,但始終看原版還是放心一些,所以,大家請盡量學好英語,英語好的話,找一份國外的工作也說不一定(工資高)。