如今,IT行業裡新的程式語言層出不窮,例如Python、Google Go、Rust……這些各有千秋的程式語言讓新手程式設計師挑花了眼,不知道該選哪一個入行比較好。
說到這裡,異步君就不得不提Java了,作為程式設計師數量最多的程式語言,Java目前仍然是世界上最受歡迎的程式語言之一。基於Java開發的應用已經滲透到我們生活中的方方面面,比如我們熟知的大型電商網站、訂票系統、安卓App等應用,大多數應用軟體都離不開Java。
Java能有如此成績,主要得益於其優秀的品質——簡潔高效,具有高度的可移植性,可以實現「一次編寫,到處運行」。
在過去,大多數程序在移植到不同的作業系統平臺(如 UNIX、Linux 和 Windows 等)上時,程式設計師通常不得不重新調試與編譯這些程序,有時甚至需要重寫。而Java最大的優勢就在於跨平臺性,在一種平臺下用 Java 語言編寫的程序可以在編譯後不用經過任何更改,就能在其他平臺上運行。
如此優勢,讓Java自出生起就成為企業級應用的寵兒,更是在網際網路大爆發的時代,成為程式設計師們最容易就業的程式語言。
招聘和Java不得不說的故事
一直以來,Java 人才的需求量旺盛,根據 IDC(International Data Corporation,國際數據公司)的統計數字, 在所有軟體開發類人才的需求中,對 Java 工程師的需求達倒全部需求量的 60%~70%。
先來了解一下大家最關心的職業發展的問題,對於 Java 程式設計師來說,大致可以從三個大方向來規劃自己的職業藍圖。
1.繼續走技術工作之路。從技術發展方向來看,Java 工程師則可以由最初的初級軟體工程師即程式設計師逐漸晉升至中級軟體工程師(高級程式設計師)、高級軟體工程師及架構師等。走這條路,依然可進入電信、銀 行、保險專業軟體開發公司等從事軟體設計和開發工作。在資訊時代,越來越多的公司重視信息化,而信息化落實起來離不開軟體開發,而軟體開發中 Java 當屬挑大梁者。如果選擇這個方法,程式設計師要腳踏 實地,一步一個腳印地練好 Java 的基本功。對於初(中)級程式設計師來說首先掌握 Java 的基本語法(如類 與對象、構造方法、引用傳遞、內部類、異常、包、Java 常用類庫、Java IO 及 Java 類集等)。當然,如果讀者定位高級程式設計師以上的目標,那麼目標的實現主要依賴三點:一是前期紮實的 Java 基礎,二是後期對軟體開發持續性熱愛,三是靠程式設計師個人的領悟。
2.定位成為技術類管理人員,如產品研發經理、技術經理、項目經理及技術總監職位等。如果選擇管理 方向,首先要有一定的「基層「經驗,至少要有幾年的 Java 開發經驗。否則,即使偶然因素讓你「擢升 『至』管理層」,那麼也會因為「外行指導內行」而飽受詬病,所以如果定位管理人員,那麼成功的第 一步就是至少成為一名中級以上的 Java 程式設計師,前面所言的 Java 基礎也是需要掌握的。想成為技術類管 理人員,還要深諳 Java 設計模式及軟體工程的思想,從而能把控軟體開發的全局。一個好的技術類管理 人員,不僅要自身具有很強的技術管理能力,同時,也要有很強的技術體系建設和團隊管理的能力,對自己所處的行業技術發展趨勢和管理現狀具有準確的判斷。統籌全局、集各個層次的技術人員之合力,高質量完成軟體項目,是成為技術類管理人員的挑戰。
3.在其他領域成就大業。Java 軟體開發發展前景好,運用範圍也廣,具備 Java 基礎的工程師,還可以嘗試著在其他領域成就一番大業。
例如,Java 工程師可以從事 JSP 網站開發、移動領域應用開發、電子商務開發等工作。如果從事 WEB 開發,那麼在此之前一定要熟練掌握 HTML、JavaScript、XML。
在 WEB 開發中其核心就是進行資料庫的操作,先從 JSP(Java Server Pages)學習,並可以使用 JSP + JDBC(Java Data Base Connectivity,Java 資料庫連接)或者是 JSP + ADO(ActiveX Data Objects)完成操作。JSP 技術是以 Java 語言作為腳本語言的。
之後再學習 MVC 設計模式(Model View Controller),它是指軟體工程中的一種軟體架構模式,把軟體系統分為三個基本部分:模型(Model)、視圖(View)和 控制器(Controller)。
如果掌握了 MVC 設計,就可以輕鬆地掌握 AJAX(Asynchronous JavaScript and XML)和 Struts 技術。AJAX 是在不重新加載整個頁面的情況下與伺服器交換數據並更新部分網頁的手段。Struts 是 Apache 軟體基金會(ASF)贊助的一個開源項目。使用 Struts 機制可以幫助開發人員減少運用 MVC 設計模型開發 Web 應用的時間。
之後,再學習 Hibernate 和 Spring 等輕量級實體層開發方法等。Hibernate 是一個開放原始碼的 Java 語言 下的對象關係映射框架,它對 JDBC 進行了非常輕量級的對象封裝,使得 Java 程式設計師可便利地使用對象編程思維來操縱資料庫。Spring Framework 是一個開源的 Java/Java EE 全功能棧,其應用程式框架內包 含了一些基於反射機制寫的包,有了它以後程式設計師便可以將類的實例化寫到一個配置文件裡,由相應的 Spring 包負責實例化。
當然以上三條與 Java 相關的職業發展規劃之路,都以夯實 Java 基礎為根本。每一條路走到頂層,都需要重視基礎,一步一個腳印,做事由淺入深,由簡入繁,循序漸進。
Java無處不在
Java 作為 Sun 公司推出的新一代面向對象程序設計語言,特別適於網際網路應用程式的開發,但它的平臺無關性直接威脅到了 Wintel(即微軟的 Windows 作業系統與 Intel CPU 所組成的個人計算機)的壟斷地位, 這表現在以下幾個方面。
信息產業的許多國際大公司購買了 Java 許可證,包括 IBM、Apple、DEC、Adobe、SiliconGraphics、HP、TOSHIBA 以及 Microsoft 等。這一點說明,Java 已得到了業界的高度認可。眾多的軟體開發商開始支持 Java 軟體產品。例如 Inprise 公司的 JBuilder、Oracle 公司自己維護的 Java 開 發環境 JDK 與 JRE。Intranet 正在成為企業信息系統最佳的解決方案,而其中 Java 將發揮不可替代的作用。Intranet 的目的是 將 Internet 用於企業內部的信息類型,它的優點是便宜、易於使用和管理。用戶不管使用何種類型的機器和作業系統,界面是統一的 Internet 瀏覽器,而資料庫、Web 頁面、Applet、 Servlet、JSP 等則存儲在 Web 伺服器上,無論是開發人員還是管理人員,還是普通用戶都可以受益於該解決方案。
雖然 Sun 公司被收購了,但 Java 作為 Sun 公司的優質資產被母公司 Oracle 公司高度重視,因此仍然得以 繼續「茁壯成長」。根據 TIOBE 公布的 程式語言排行榜,雖然不同的月份,程式語言之間的地位可能有互換,但 Java 在整個編程領域的前三甲的地位基本是不動搖的。這從側面可以反映,Java 的無處不在,其應用領域和前景非常廣闊。
從桌面辦公到網絡資料庫,從 PC 機到嵌入式移動平臺,從 Java 小應用程式(Applet)到架構龐大的 J2EE 企業級解決方案,處處都有 Java 的身影,就連美國大型太空(NASA)項目當中,也使用了 Java 來 開發控制系統和相關軟體。Java 技術的開放性、安全性和龐大的社會生態鏈以及其跨平臺性,使得 Java 技術成為智慧型手機軟體平臺 的事實性標準。在未來發展方向上,Java 在 Web、行動裝置以及雲計算等方面的應用前景也非常廣闊。雖然面對來自網絡的類似於 Ruby on Rails 這樣編程平臺的挑戰,但 Java 依然還是事實上的企業 Web 開發 標準。隨著雲計算(Cloud Computing)以及移動領域的擴張,更多的企業考慮將其應用部署在 Java 平臺上,那麼無論是本地主機,還是公共雲,Java 都是目前最合適的選擇。
Java 是目前世界上最流行的程式語言之一,而且也成為了事實上的應用層的開發標準,在很多的開發之中,都會把 Java 作為一些底層代碼的操作功能的調用工具,如目前面向手機的 Android 開發。Java 應用領域之廣,也勢必促使 Java 開發者的就業市場呈現欣欣向榮的發展態勢。學習 Java 不僅是學習一門計算機語言,更多的是學習一種思想,一種開發模式。對於從事軟體行業的工作人員,掌握了 Java 語言,可以讓自己日後的事業發展得更加順利。Java 語言由於學習相對完整, Java 開發人員可以輕鬆轉入到手機開發、.NET、PHP 等語言的開發上,以後也可以更快的跨入到項目經理的行列之中。
Java的技術體系
僅從傳統意義上來看, Java 技術體系包括以下幾個組成部分:
● Java 程式語言
● class 文件格式
● Java API 類庫
● 開源社區及商業機構的第三方 Java 類庫
● 各種平臺上的 Java 虛擬機
按照 Java 技術關注的重點業務領域來劃分,Java 技術體系可以分為4 個平臺:
1.Java SE(Standard Edition,標準版):支持面向桌面級應用(如 Windows 下的應用程式)的 Java 平臺,提供了完整的 Java 核心 API,這個版本 2005 年以前稱為 J2SE。
2.Java EE(Enterprise Edition,企業版):以 Java SE 為基礎,往外延伸,增加了許多支持企業內部使 用的擴充類,支持使用多層架構的企業應用(如 ERP—企業資源計劃系統、CRM—客戶關係管理系統的 應用)的 Java 平臺,除了提供 Java SE API 外,還對其做了大量的擴充並提供了相關的部署支持。這個版 本 2005 年以前稱為 J2EE。
3.Java ME(Micro Edition,微型版):Java ME 同樣以 Java SE 為基礎,但向內精簡。它所支持的只 有核心類的子集合,它支持 Java 程序運行在移動終端(手機、PDA—掌上電腦)上的平臺,加入了針對 移動終端的支持。這個版本 2005 年以前稱為 J2ME。Java 的微型版主要是進行嵌入式開發,目前漸漸被 Android 開發所替代。
4.Java Card(智慧卡版):由於服務對象定位更加明確化,Java Card 版本比 Java ME(微型版)更加 精簡。它支持一些 Java 小程序(Applets)運行在小內存設備(如容量小於 64K 的智慧卡)的平臺上。但是,不管 Java 的技術平臺如何劃分,都是以 Java SE 為核心的,所以掌握 Java SE 最為重要,這也是本 書的主要講解範圍。如果要想進行 Java EE 的開發,Java SE 是其中必要的組成部分,這也就是為什麼在 學習 Java EE 之前要讀者一定要有紮實的 Java SE 基礎了。
Java學習路線圖
對Java初學者或中級Java程式設計師來說,Java 學習的路線在整體上需遵循:初級階段>>初級階段>>高級階段,循序漸進地學習:
初級階段:學習 Java 基礎語法和類的創建與使用,基礎 I/O(輸入/輸出)操作、各種循環控制、運 算符、數組的定義、方法定義格式、方法重載等,並熟練使用一種開發工具,如 Eclipse 等。
中級階段:掌握面向對象的封裝、繼承和多態,學習常用對象和工具類,深入 I/O(輸入/輸出)操 作,異常處理、Java 的包管理機制、集合框架等。
高級階段:掌握 Java 的反射機制、泛型、網絡編程、GUI 開發、多線程、高級 I/O、資料庫編程、 Java Applet 等。
學好Java的關鍵在於什麼?
不管處於哪個學習階段,程式語言的學習都要重視 Java 的實戰練習,等學習到高級階段還要用一些項目實訓來提升自己。
學習 Java 的途中沒有捷徑,需要進行不斷地理論學習、反覆地實戰練習才能將代碼運用靈活,就好像練習武功一樣,只有重視基本功,並持之以恆,才能讓自己的動作收放自如,招式爐火純青。
《禮記•中庸》有言:「君子之道,闢如行遠必自邇,闢如登高必自卑」。這句話告訴我們,君子行事,就像走遠路一樣,必定要從近處開始;就像登高山一樣,必定要從低處起步。
練就成為一名 Java 高手的過程可能需經歷多年的時間。一些讀者朋友擔心,自己可能等不到成為高手那一天, 就無力開發 Java 了。
其實,Java 相關的開發行業也如陳年美酒,越陳越香。Java 軟體開發行業職業壽命很長,能提供給從業人員更廣闊的發展方向。如果想在 Java 開發相關的領域有所建樹,多一份持久的堅持是必須的。
學習Java的準備工作
學習 Java 的第一步就是要搭建 Java 開發環境(Java Development Kit,JDK),它是在作業系統(如 Windows、Linux 等)下搭建的 Java 最基本的開發環境,目前由 Oracle 公司維護開發並免費提供。
JDK 由一個處於作業系統層之上開發環境和運行環境組成,如下圖所示。JDK 除了包括編譯(javac)、 解釋(java)、打包(jar)等工具,還包括開發工具及開發工具的應用程式接口等。當 Java 程序編譯完 畢後,如果想運行,還需要 JRE(Java Runtime Environment,Java 運行環境)。
JRE 是運行 JAVA 程序所必需的環境的集合,包含 JVM 標準實現及 Java 核心類庫。如果僅僅想運行 Java 程序,安裝 JRE 就夠了。也就是說,JRE 是面向 Java 程序的使用者的。如果想開發 Java 程序,就需 要安裝 JDK,它是面向 Java 程序的開發者。Java 程序的開發者自然也是 Java 程序的應用者。
如圖所示,Java 程序開發的第一步就是編寫 Java 語言的原始碼。而編寫原始碼的工具可以是任何文本編輯器,如 Windows 下的記事本、Linux 下的 Vim 均可。這裡推薦大家使用對程式語言支持較好的 編輯器:Notepad++、UltraEdit、Editplus 等。
Java 源文件編寫完畢後,就可以在命令行下通過 javac 命令將 Java 源程序編譯成字節碼(二進位文件),然 後通過 java 命令來解釋執行編譯好的 Java 類文件(文件擴展名為.class)。但如果想正確使用 javac 和 java 等命令,用戶必須自己搭建 Java 開發環境。
採用 Oracle 公司提供的 JDK 開發 Java 程序,能夠讓初學者專注於 Java 語法的理解,代碼模塊之間的關 系比較清晰明了,有利於初學者理解 Java 面向對象的設計思想。
此外,JDK 的版本也會隨 Java (J2EE、 J2SE 以及 J2ME)版本的升級而升級。但它的缺點也是明顯的,從事大規模企業級 Java 應用開發比較困 難,也不利於團體協同開發。因此,目前市面上出現了很多優秀的 Java 集成開發環境 (Integrated Development Environment,簡稱 IDE),如 NetBeans 和 Eclipse 等。IDE 在 JDK 的基礎上,為程序提供了很多輔助功能的支持,極大方便 了程序的開發。
萬事開頭難,給大家分享了Java學習路線圖之後,不少朋友也可能會有「畏難」情緒。
別急,異步君還有寵粉福利,零基礎Java訓練營原價199元,限時限量免費送!8月26日-8月30日晚20點,Java訓練營限時免費,趕緊參與吧!
👇👇👇