JAVA 是一種跨平臺的、面向對象的高級編程語言,主要用來進行網站后臺開發和 Android App 開發。
Java 是全球最受歡迎的編程語言之一,在世界編程語言排行榜 TIOBE 中,Java 一直霸占著前三名,有好多年甚至都是第一名。
JetBrains 每年都會發布一個開發者生態系統調查報告,根據該報告的統計數據,最近幾年全球約有 1/3 的專業程序員將 Java 作為主要編程語言,這一比例在我國更是高達 1/2,我國也因此成為全球 Java 程序員最多的國家,沒有之一。
JetBrains 是一家總部位于捷克的 IDE 開發商,大名鼎鼎的 IntelliJ IDEA、PyCharm、WebStorm、CLion、phpStorm 就是出自 JetBrains 之手。
我國互聯網產業的發展非常充分,市場對于程序員的需求量也巨大,這其中,Java 程序員的需求最多,占到全部需求量的 60%~70%。
Java 之所以能夠走上神壇,主要還是抓住了互聯網發展的兩個重要風口:
- 2010 年以前是 PC 互聯網時代,Java 是中大型網站開發的首選語言,百度、淘寶、人人網、google、Facebook、YouTube 等著名網站都在使用 Java。
- 2010 年以后智能手機興起,全球進入移動互聯網時代,Java 幾乎是 Android APP 開發的唯一編程語言。直到 2017 年,Android 才正式將 Kotlin 作為官方開發語言。
此外,大數據技術是當今最流行的話題,也是未來的發展趨勢,開源軟件 Hadoop 是大數據處理的熱門框架之一,它就使用 Java 語言編寫,這使得 Java 在大數據領域也有重要的地位。
你看,Java 抓住了軟件產業發展的三個重要風口,想不火都難。站在風口上,豬都能飛起來。
作為一種通用型的語言,Java 能做的事情有很多,具體包括:
- 網站后臺開發
- Android APP 開發
- 大數據開發
- 客戶端程序(PC 程序)開發
- 嵌入式開發
在這幾個開發方向中,網站后臺開發人數最多,估計占到一半以上;其次是 Android APP 開發,從業人員也眾多;接著是大數據和客戶端程序開發,相對來說人數就少了;至于嵌入式開發,現在已經沒有人使用 Java 了。
網站后臺開發
能夠進行網站后臺開發的編程語言有很多,包括 PHP、C#、Java、Ruby、Python/ target=_blank class=infotextkey>Python、JavaScript、Go 等,其中 Java 市場份額最大,更適合中大型 Web 項目,這是因為:
- Java 是一種半編譯型語言,開發比較方便,性能也不算差;
- Java 生態繁榮,擁有龐大的類庫和框架,大部分常用功能都有人幫你封裝好了;
- Java 能夠很好地進行模塊化開發和分布式開發,更有利于團隊管理和協作。
從某種程度上說,Java 幾乎是中大型網站開發的唯一選擇,因為中大型網站既需要團隊協作,也需要部署到服務器集群,而隨著 Spring Boot 和 Spring Cloud 框架的成熟,Java 在模塊化和分布式方面擁有了得天獨厚的優勢。
使用 Java 開發的著名網站真是太多了,數不勝數,Google、Facebook、Amazon、淘寶、百度、攜程等國內外巨頭無一不在使用 Java。
Java 的火爆也催生了大量線上/線下培訓班,其中絕大部分都是針對 Web 后臺方向。沒辦法,Java Web 崗位需求量太大了,曾經一度供不應求。
各位讀者如果想學習 Java,我也建議選擇 Web 開發方向,畢竟工作崗位多,薪資待遇高。
為了幫助大家找到一份靠譜的 Java Web 開發工作,我們特地制作了一套《Java 開發學習路線完整版》,它堅持實用主義,追求前沿技術,不但為初學者規劃好了具體的學習步驟,還為初學者指明了常見的陷阱和困難。
Android APP 開發
Android 手機從 2010 年就開始爆發了,但是直到 2017 年 Android 官方才推出自己的編程語言 Kotlin;在這之前,Java 是 Android APP 開發的唯一語言。
在 Android 手機快速增長的前幾年,APP 開發人員曾經一度供不應求,各家公司也相互抬價來哄搶人才。
除了手機,還有很多其它智能硬件也使用 Android 作為操作系統,包括平板、電視、汽車等。
但是隨著智能手機增量的放緩,以及 APP 的飽和,市場對于 Android APP 開發人員的需求也逐漸降溫了,大概從 2016 年以后,Android APP 開發人員就不再吃香了,慢慢回歸理性了。
使用 Java 開發的 Android APP 太多了,比如抖音、快手、微信、淘寶、Facebook、Instagram、WhatsApp 等。
大數據開發
大數據技術是當今最流行最熱門的話題,它也是未來的發展趨勢。大數據技術用來從不規則、大規模的數據集中分析和提取出有用信息。
開源軟件 Hadoop 是大數據處理的熱門框架之一,它就使用 Java 語言編寫,要想熟練地使用 Hadoop,就得掌握 Java。
相比其它編程語言,Java 在垃圾自動回收、堆內存和棧內存分配方面擁有更大的優勢,這使用 Java 更加適合處理大數據集。
除了 Hadoop,還有很多其它基于 Java 的大數據工具,比如 Apache HBase、ElasticSearch、Accumulo 等。
客戶端程序
客戶端程序也叫“GUI 程序”,是指運行在 PC 上的、帶有操作界面的、可以進行安裝的軟件,比如 QQ、迅雷、360 等。
Java 附帶了 AWT、Swing 和 JavaFx 模塊,它們都是用來開發 GUI 程序的。這些模塊提供了豐富的 API,能夠讓我們開發出復雜炫酷的界面,比如選項卡、表格、顏色拾取器、樹形菜單、3D圖形等。
使用 Java 開發 GUI 程序的真實案例:
- Adobe Acrobat Reader
- ThinkFree office
- Eclipse
- IntelliJ IDEA
但是隨著云計算的發展,以及 Web 前端的強大,很多常見功能都可以通過網站來提供了,客戶端程序已經不再是各個互聯網公司率先考慮的平臺,只有那些運算量大、數據量大的項目,才會考慮開發客戶端程序。
互聯網的沖擊使得客戶端開發成了一個沒落產業,選擇這個方向的人越來越少了。
另外,客戶端開發的技術路線也有很多,包括 C/C++、C#、Electron、Python、易語言等,Java 只是其中之一,并且不算主流的技術路線。
如果讀者對客戶端程序開發感興趣,可以關注一下《C/C++ windows 軟件開發學習路線》,它將告訴你使用 C/C++ 開發一個客戶端程序的完整流程。
嵌入式開發/功能手機開發
Java 有一個裁剪過的版本,叫做 J2ME(Java 2 Platform Micro Edition),主要用于嵌入式系統或者功能手機的開發。
嵌入式系統是完整工業產品的一部分,由微型芯片、微處理器等構成,它們往往比較廉價,性能不高,所以一般被當做低級系統。
Java 能夠有效且快速地處理程序異常,因此它也可以開發運行在低級系統上的應用程序,比如 SIM 卡、藍光 DVD 播放機、機頂盒上的控制程序。
早期的功能手機也可以看成一個嵌入式系統,在智能機還沒有大行其道之前,還記得摩托羅拉、諾基亞手機上的小游戲嗎?這些就是使用 Java J2ME 開發的。另外,諾基亞上流行的 WhatsApp 也是用 J2ME 開發。
咳咳,Java 嵌入式開發這個方向已經死透了,大家了解一下即可,不要再去學習或者研究了。