Java到底能干什么?实事求是地说一下
Java 是一种跨平台的、面向对象的高级编程语言,主要用来进行网站后台开发和 Android APP 开发。
Java 是全球最受欢迎的编程语言之一,在世界编程语言排行榜 TIOBE 中,Java 一直霸占着前三名,有好多年甚至都是第一名。
JetBrains 每年都会发布一个开发者生态系统调查报告,根据该报告的统计数据,最近几年全球约有 1/3 的专业程序员将 Java 作为主要编程语言,这一比例在我国更是高达 1/2,我国也因此成为全球 Java 程序员最多的国家,没有之一。
Java 之所以能够走上神坛,主要是因为它抓住了互联网发展的两个重要风口:
此外,大数据技术是当今最流行的话题,也是未来的发展趋势,开源软件 Hadoop 是大数据处理的热门框架之一,它就使用 Java 语言编写,这使得 Java 在大数据领域也有重要的地位。
你看,Java 抓住了软件产业发展的三个重要风口,想不火都难。站在风口上,猪都能飞起来。
作为一种通用型的语言,Java 能做的事情有很多,具体包括:
在这几个开发方向中,网站后台开发人数最多,估计占到一半以上;其次是 Android APP 开发,从业人员也众多;接着是大数据和客户端程序开发,相对来说人数就少了;至于嵌入式开发,现在已经没有人使用 Java 了。
从某种程度上说,Java 几乎是中大型网站开发的唯一选择,因为中大型网站既需要团队协作,也需要部署到服务器集群,而随着 Spring Boot 和 Spring Cloud 框架的成熟,Java 在组件化和分布式方面拥有了得天独厚的优势。
使用 Java 开发的著名网站真是太多了,数不胜数,Google、Facebook、Amazon、淘宝、百度、携程等国内外巨头无一不在使用 Java。
Java 的火爆也催生了大量线上/线下培训班,其中绝大部分都是针对 Web 后台方向。没办法,Java Web 岗位需求量太大了,曾经一度供不应求。
各位读者如果想学习 Java,我也建议选择 Web 开发方向,毕竟工作岗位多,薪资待遇高。
在 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 等。
Java 附带了 AWT、Swing 和 JavaFx 模块,它们都是用来开发 GUI 程序的。这些模块提供了丰富的 API,能够让我们开发出复杂炫酷的界面,比如选项卡、表格、颜色拾取器、树形菜单、3D图形等。
使用 Java 开发 GUI 程序的真实案例:
但是随着云计算的发展,以及 Web 前端的强大,很多常见功能都可以通过网站来提供了,客户端程序已经不再是各个互联网公司率先考虑的平台,只有那些运算量大、数据量大的软件,才会考虑开发客户端程序。
互联网的冲击使得客户端开发成了一个没落产业,选择这个方向的人越来越少了。
另外,客户端开发的技术路线有很多,包括 C/C++、C#、Electron、Python、易语言等,Java 只是其中之一,并且不算是主流的技术路线。
早期的功能手机也可以看成一个嵌入式系统,在智能机还没有大行其道之前,还记得摩托罗拉、诺基亚手机上的小游戏吗?这些就是使用 Java J2ME 开发的。另外,诺基亚上流行的 WhatsApp 也是用 J2ME 开发。
咳咳,Java 嵌入式开发这个方向已经死透了,大家了解一下即可,不要再去学习或者研究了。
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、JavaScript、Go 等,其中 Java 市场份额最大,更适合中大型 Web 项目,这是因为:- Java 是一种半编译型语言,开发比较方便,性能也不算差;
- Java 生态繁荣,拥有庞大的类库和框架,大部分常用功能都有人帮你封装好了;
- Java 能够很好地进行模块化开发和分布式开发,更有利于团队管理和协作。
从某种程度上说,Java 几乎是中大型网站开发的唯一选择,因为中大型网站既需要团队协作,也需要部署到服务器集群,而随着 Spring Boot 和 Spring Cloud 框架的成熟,Java 在组件化和分布式方面拥有了得天独厚的优势。
使用 Java 开发的著名网站真是太多了,数不胜数,Google、Facebook、Amazon、淘宝、百度、携程等国内外巨头无一不在使用 Java。
Java 的火爆也催生了大量线上/线下培训班,其中绝大部分都是针对 Web 后台方向。没办法,Java Web 岗位需求量太大了,曾经一度供不应求。
各位读者如果想学习 Java,我也建议选择 Web 开发方向,毕竟工作岗位多,薪资待遇高。
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
- NetBeans
但是随着云计算的发展,以及 Web 前端的强大,很多常见功能都可以通过网站来提供了,客户端程序已经不再是各个互联网公司率先考虑的平台,只有那些运算量大、数据量大的软件,才会考虑开发客户端程序。
互联网的冲击使得客户端开发成了一个没落产业,选择这个方向的人越来越少了。
另外,客户端开发的技术路线有很多,包括 C/C++、C#、Electron、Python、易语言等,Java 只是其中之一,并且不算是主流的技术路线。
嵌入式开发/功能手机开发
Java 有一个裁剪过的版本,叫做 J2ME(Java 2 Platform Micro Edition),主要用于嵌入式系统或者功能手机的开发。嵌入式系统是完整工业产品的一部分,由微型芯片、微处理器等构成,它们往往比较廉价,性能不高,所以一般被当做低级系统。
Java 能够有效且快速地处理程序异常,因此它也可以开发运行在低级系统上的应用程序,比如 SIM 卡、蓝光 DVD 播放机、机顶盒上的控制程序。早期的功能手机也可以看成一个嵌入式系统,在智能机还没有大行其道之前,还记得摩托罗拉、诺基亚手机上的小游戏吗?这些就是使用 Java J2ME 开发的。另外,诺基亚上流行的 WhatsApp 也是用 J2ME 开发。
咳咳,Java 嵌入式开发这个方向已经死透了,大家了解一下即可,不要再去学习或者研究了。