Java到底能干什么?有哪些实际用途?

article/2025/10/18 21:58:44

Java 是一种跨平台的、面向对象的高级编程语言,主要用来进行网站后台开发和 Android APP 开发。

Java 是全球最受欢迎的编程语言之一,在世界编程语言排行榜 TIOBE 中,Java 一直霸占着前三名,有好多年甚至都是第一名。

0b552e5b693248732c587baebbdccb26.png

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 了。

2c433c7794a8e41f8a62dcaeb7eb84e1.png

网站后台开发

能够进行网站后台开发的编程语言有很多,包括 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 开发方向,毕竟工作岗位多,薪资待遇高。

efe76eb2bbbf2d5a012fa245c8248814.png

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 等。

5c8f97d79b6be941009ed4216833ba01.png

大数据开发

大数据技术是当今最流行最热门的话题,它也是未来的发展趋势。大数据技术用来从不规则、大规模的数据集中分析和提取出有用信息。

开源软件 Hadoop 是大数据处理的热门框架之一,它就使用 Java 语言编写,要想熟练地使用 Hadoop,就得掌握 Java。

相比其它编程语言,Java 在垃圾自动回收、堆内存和栈内存分配方面拥有更大的优势,这使用 Java 更加适合处理大数据集。

除了 Hadoop,还有很多其它基于 Java 的大数据工具,比如 Apache HBase、ElasticSearch、Accumulo 等。

2f090952d444da9ff623cd2c344e080d.png

客户端程序

客户端程序也叫“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 只是其中之一。

02ff9663cb1d763b3fa15963c8f63a37.png

嵌入式开发/功能手机开发

Java 有一个裁剪过的版本,叫做 J2ME(Java 2 Platform Micro Edition),主要用于嵌入式系统或者功能手机的开发。

嵌入式系统是完整工业产品的一部分,由微型芯片、微处理器等构成,它们往往比较廉价,性能不高,所以一般被当做低级系统。

Java 能够有效且快速地处理程序异常,因此它也可以开发运行在低级系统上的应用程序,比如 SIM 卡、蓝光 DVD 播放机、机顶盒上的控制程序。

早期的功能手机也可以看成一个嵌入式系统,在智能机还没有大行其道之前,还记得摩托罗拉、诺基亚手机上的小游戏吗?这些就是使用 Java J2ME 开发的。另外,诺基亚上流行的 WhatsApp 也是用 J2ME 开发。

Java 嵌入式开发这个方向已经凉凉了,大家了解一下即可,不需要再去学习或者研究了。

b467a71b35fba011bc9753702c301adf.png

推荐阅读

虽然 Java 能够胜任的开发方向有很多,但是随着软件产业的快速发展,其中一些开发方向已经被其它技术栈取代。但从整体上看,Java 从业人数最多的还是网站后台方向,因为 Java 在中大型 Web 项目开发方面具有得天独厚的优势。那么学习Java要看什么书呢?这本《Java核心技术》是你不可错过的一本!

cd22ba6699c4a7a44b12b170c18787ce.png

由凯.霍斯特曼写的《Core Java》,中文版名为《Java核心技术》。这本书几乎出现在每个“学Java要看什么书”类似的书单里,影响了几代技术人。

《Java核心技术》曾获Jolt大奖,出版以来一直备受广大Java程序设计人员的青睐,畅销不衰。本书分为I、II两卷,完整讲解Java开发者学习路线,卷I:主要介绍Java语言的基础知识的专业级详解;卷II:主要介绍软件开发需要了解的高级主题。

学完本书,你将成为一个真正的Java程序员。这本书的全面并非简单的罗列,而是通过周密组织,从Java繁杂的内容中整理出一条清晰的主线,构成一个完整的知识体系。整本书不仅让你深入了解设计和实现Java应用涉及的所有基础知识和Java特性,还会帮助你掌握开发Java程序所需的全部基本技能。

为帮助大家更轻松地学习Java,作者凯.霍斯特曼亲自录制了配套视频讲解课程,视频配有中文配音+中文字幕,与纸书涵盖内容基本一致,适配Java SE8以后的版本。纸书+视频搭配学习,学习Java更轻松。B站搜索“Java核心技术站”直达

80f68e6b69f8c79448361c303fcd40b1.png

特别推荐,点击选购↓

cfbb386bb2989ab3f1b57267edf65b07.png


c15aabec9df10ec205bfde6672716ff0.gif

更多精彩回顾

书讯 | 2月书讯(下)| 新年到,新书到!

书讯 | 2月书讯 (上)| 新年到,新书到!

资讯 | Python迎来31岁生日,蝉联年度编程语言排行榜冠军

书单 | 成为优秀Java开发者,我看了这几本书

干货 |一文带你掌握计算机体系结构核心内容

上新 |《Core Java》作者亲授视频免费看,学习Java更轻松

资讯 |云原生时代,阿里如何让Java冷启动提速两个数量级?

赠书 | 【第94期】存储系统又慢又杂太难用?我们推荐这几本书帮你解决问题

3d74a31d2d5f34a66204fc6a4b4b3693.gif

45ec0da85f13081462b7d52ce87da5bd.gif

点击阅读全文前往B站免费观看学习视频


http://chatgpt.dhexx.cn/article/XOHRnKcF.shtml

相关文章

Java是什么?Java到底能干嘛?

我刚开始学习Java的时候,很长一段时间都有这么个疑惑? Java到底是啥?它能干什么? 自己也看过不少的课程和书,大部分都是从Java的发展史开始讲,总之就是那些什么Java历史悠久,Java很优秀&#xf…

学习java技术能干什么工作

Java岗位的工作有: Java工程师的职位包括:手机软件开发,游戏开发,网站开发、技术支持、项目经理、产品销售、架构师、系统分析等。 真正的JaVa工程师应具备adit,即analysis(分析问题的能力)、规划设计解决问题方案的…

学习Java开发可以就业哪些岗位和领域?

学好Java,能达到职业能力,有7大就业方向可以选择: 1、企业级应用开发 企业级应用开发大可以做全国联网的系统,小到中小企业的应用解决方案。多数没有前端开发的通 常是从一个服务器接收数据,处理后发给另一个处理系统。 如今,Java编程已经在…

Python 矩阵基本运算【numpy】

文章目录 一、实验说明二、Python 矩阵基本运算1. python矩阵操作2. python矩阵乘法3. python矩阵转置4. python求方阵的迹5. python方阵的行列式计算方法6. python求逆矩阵/伴随矩阵7. python解多元一次方程 一、实验说明 实验环境 Anaconda python3.6 jupyter 二、Python 矩…

机器学习之python矩阵运算

python矩阵基本运算 一、python矩阵操作二、python矩阵乘法三、python矩阵转置四、python求方阵的迹五、python方阵的行列式计算方法六、python求逆矩阵/伴随矩阵七、python解多元一次方程 一、python矩阵操作 1、引入numpy简写为np 2、使用mat函数创建一个2*3的矩阵 3、使用s…

python矩阵乘法运算

一、矩阵乘法 矩阵乘法为 AB 或 np.dot(A,B) ,若为对应元素相乘则用 A*B 或 np.multiply(A,B) 。 1. AB 和 np.dot(A,B) A np.array([[1,2],[3,4] ])B np.array([[1,2],[3,4] ])C1 A B C2 np.dot(A,B) print(C1) print(---------) print(C2)输出为 [[ 7 10…

Python矩阵基本运算

文章目录 一、python矩阵操作二、python 矩阵乘法三、python 矩阵转置四、python 求方阵的迹五、python 方阵的行列式计算方法六、python 求逆矩阵 / 伴随矩阵七、python 解多元一次方程 一、python矩阵操作 引入numpy, 使用mat函数创建一个2X3矩阵 #引入numpy im…

python未知数的矩阵运算,机器学习的数学 之python矩阵运算

本文提纲 1. 什么是矩阵 2. 矩阵在现实应用场景 3. 矩阵表示 4. 矩阵运算 5. 理解矩阵乘法 一、 什么是矩阵 一个 m n 的矩阵是一个由 m 行 n 列元素排列成的矩形阵列。以下是一个由 6 个数字元素构成的 2 行 3 列的矩阵: 矩阵属于线性代数数学分支。线性代数是关于向量空间和…

机器学习数学基础之Python矩阵运算

机器学习数学基础之Python矩阵运算 1.在Jupyter中写下Python矩阵基本运算学习记录1.1 python矩阵操作1.1.1 首先打开jupyter,引入numpy1.1.2 创建一个矩阵a并调用1.1.3 使用 shape可以获得矩阵大小1.1.4 使用下标读取矩阵中元素1.1.5 进行行列转换1.1.6 使用二维数组…

python矩阵的基本运算

文章目录 一、python矩阵操作二、python矩阵乘法三、python矩阵转置四、python求方阵的迹五、python方阵的行列式计算方法六、python求逆矩阵/伴随矩阵七、 python解多元一次方程用python的 一、python矩阵操作 先引入numpy,以后的教程中,我们都引用为n…

python:矩阵的基本运算

一、Python 矩阵基本运算 引入 numpy 库 import numpy as np 1. python矩阵操作 1)使用 mat 函数创建一个 2X3矩阵 a np.mat([[1, 2, 3], [4, 5, 6]])2)使用 shape 可以获取矩阵的大小 a.shape 3)进行行列转换 a.T 4)使用…

html轮播图点击图片放大,jq点击图片 放大轮播

展示效果: 实现逻辑:点击图片的时候 把第一块(外观)的所有图片数据 直接赋值到弹框上. 用的swiper这个轮播,自带动画 html 放上源码Document // 字体 document.documentElement.style.fontSize = document.documentElement.clientWidth / 6.4

简易的JQ轮播图

一、主体程序 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 <!DOCTYPE html> < html > < head > < meta charset "utf-8" /> < title >轮播图①&#xff08;手动点击轮播&#xff09;&…

用jq实现轮播图片的效果

用jq实现轮播图片的效果 使用jq实现简单的图片轮播效果&#xff0c;图片自动轮播功能&#xff0c;左右点击滑动功能&#xff0c;鼠标进入数字列表时实现图片滑动功能&#xff1b;主要是通过操作图片数组删除和添加的元素&#xff0c;然后重新渲染页面的方式来实现轮播。 1.效…

用jq撸一个简易轮播图

本次文章我将来用jq实现一个轮播图&#xff0c;废话少说下面放效果 先说下基本思想&#xff0c;先将item使用position: absolute;脱离文档流令他们叠在一起&#xff0c;使用z-index来实现轮播的效果&#xff0c;注&#xff1a;这里如果没把每一项absolute的话是没法用z-index的…

js jQ轮播图(三种)

第一种: 用了css3进行3D效果轮播 完整代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta…

jq轮播图2

今天续着上一期的来给大家讲另外一种方法的轮播图   这种方法可以实现无缝轮播,原理就是我们在自己预先想要设置轮播的那一组照片后边,用jq语言在另外加上一组相同的照片,相当于现在的长度就是两组照片的长度,我们将初始的图片索引值就先定在我们复制的第一张图片上,就是…

jQuery实现一个简单的轮播图

一.轮播图内容组成 包括&#xff1a;4张图片&#xff0c;图片标号&#xff0c;向左翻页&#xff0c;向右翻页的几个部分&#xff0c;如下图所示&#xff1a; 二.实现功能 1.加载页面后&#xff0c;4张图片默认从第一张图片开始轮播&#xff0c;索引值为1。 2.当把鼠标over到…

jQuery实现各种轮播图

目录 无限循环滚动 百叶窗 轮播一 轮播二 轮播三 无限循环滚动 * {margin: 0;padding: 0;}div {width: 1120px;height: 300px;border: 1px solid #000;margin: 100px auto;overflow: hidden;}ul {list-style: none;width: 3360px;height: 300px;background: #000;/* backgro…

git上传代码简单方法 简单git上传代码工具

简单git上传代码工具 肯定有很多人和我一样&#xff0c;git上传时候搞不懂拉取&#xff0c;合并等一系列的代码冲突问题&#xff0c;往往可能覆盖掉自己今天写的代码&#xff0c;或者覆盖掉别人的代码。 下面给大家简单介绍一款操作比较简单的上传代码工具&#xff1a;下图这款…