java-can-do-what.md 6.8 KB
Newer Older
沉默王二's avatar
沉默王二 已提交
1
---
沉默王二's avatar
沉默王二 已提交
2 3
title: 学 Java 还有前途吗?
shortTitle: 学Java还有前途吗?
沉默王二's avatar
沉默王二 已提交
4
category:
沉默王二's avatar
沉默王二 已提交
5
  - Java核心
沉默王二's avatar
沉默王二 已提交
6
tag:
沉默王二's avatar
沉默王二 已提交
7
  - Java概述
沉默王二's avatar
沉默王二 已提交
8
description: Java程序员进阶之路,小白的零基础Java教程,Java的优势,Java的特点,Java能做什么,学 Java 有前途吗?
沉默王二's avatar
沉默王二 已提交
9 10 11
head:
  - - meta
    - name: keywords
沉默王二's avatar
沉默王二 已提交
12
      content: Java,Java SE,Java基础,Java教程,Java程序员进阶之路,Java进阶之路,Java入门,教程,Java 优势,特点,java前途
沉默王二's avatar
沉默王二 已提交
13 14
---

沉默王二's avatar
沉默王二 已提交
15
# 2.3 学 Java 还有前途吗?
16

沉默王二's avatar
沉默王二 已提交
17 18
尽管 Java 已经 25 岁了,但仍然“宝刀未老”。在 Stack Overflow 2019 年流行编程语言调查报告中,Java 位居第 5 位,有 41% 的受调开发者认为 Java 仍然是一门受欢迎的编程语言。

沉默王二's avatar
沉默王二 已提交
19
![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/overview/three-01.png)
沉默王二's avatar
沉默王二 已提交
20

沉默王二's avatar
沉默王二 已提交
21 22 23 24
国内对 Java 的使用率远超国外,所以国内 Java 的市场占有率更大,不管是 2020 年还是 2021、2022、2023 年,短时间内,Java 的霸主地位很难撼动。

虽然这些年 Java 很卷的话,甚嚣尘上,我只能说这样的声音每年都有,听听就好了。

沉默王二's avatar
沉默王二 已提交
25 26
很多大型的互联网公司都在使用 Java,国内最有名的当属阿里巴巴,国外最有名的当属谷歌。那为什么 Java 如此流行呢?

沉默王二's avatar
沉默王二 已提交
27
**1)简单性**
沉默王二's avatar
沉默王二 已提交
28 29 30 31 32

Java 为开发者提供了简单易用的用户体验,与其他面向对象编程语言相比,Java 的设计和生态库具有巨大的优势。Java 剔除了 C++ 中很少使用、难以理解、易混淆的特别,比如说指针运算、操作符重载,内存管理等。

Java 可以做到堆栈分配、垃圾回收和自动内存管理,在一定程度上为开发者减轻了入门的难度。

沉默王二's avatar
沉默王二 已提交
33
**2)可移植性**
沉默王二's avatar
沉默王二 已提交
34 35 36 37 38

如果 Java 直接编译成操作系统能识的二进制码,可能一个标识在 Windows 操作系统下是1100,而 Linux 下是 1001,这样的话,在 Windows 操作系统下可以运行的程序到了 Linux 环境下就无法运行。

为了解决这个问题,Java 先编译生成字节码,再由 JVM(Java 虚拟机)来解释执行,目的就是将统一的字节码转成操作系统可以识别的二进制码,然后执行。而针对不同的操作系统,都有相应版本的 JVM,所以 Java 就实现了可移植性。

沉默王二's avatar
沉默王二 已提交
39
**3)安全性**
沉默王二's avatar
沉默王二 已提交
40 41 42 43 44 45 46 47 48 49 50

Java 适用于网络/分布式环境,为了达到这个目标,在安全方面投入了巨大的精力。使用 Java 可以构建防病毒、防篡改的程序。

从一开始,Java 就设计了很多可以防范攻击的机制,比如说:

- 运行时堆栈溢出,这是蠕虫病毒常用的攻击手段。
- 字节码验证,可以确保代码符合 JVM 规范并防止恶意代码破坏运行时环境。
- 安全的类加载,可以防止不受信任的代码干扰 Java 程序的运行。
- 全面的 API 支持广泛的加密服务,包括数字签名、消息摘要、(对称、非对称)密码、密钥生成器。
- 安全通信,支持 HTTPS、SSL,保护传输的数据完整性和隐私性。

沉默王二's avatar
沉默王二 已提交
51
**4)并发性**
沉默王二's avatar
沉默王二 已提交
52 53 54 55 56

Java 在多线程方面做得非常突出,只要操作系统支持,Java 中的线程就可以利用多个处理器,带来了更好的交互响应和实时行为。

“二哥,那 Java 还会继续流行下去吗?”三妹眨了眨她的长睫毛,对我说。

沉默王二's avatar
沉默王二 已提交
57
“当然!这主要得益于 Java 广泛的应用场景。”我斩钉截铁地回答到。
沉默王二's avatar
沉默王二 已提交
58

沉默王二's avatar
沉默王二 已提交
59
### **大数据领域:**
沉默王二's avatar
沉默王二 已提交
60 61 62 63 64 65 66 67 68 69

与 Python 一样,Java 在大数据领域占据着主导地位,很多用于处理大规模数据的框架都是基于 Java 开发的。

- Apache Hadoop,用于在分布式环境中处理大规模数据集。Hadoop 采用了主副架构模式,其中主节点负责控制整个分布式计算栈。Hadoop 在需要处理和分析大规模数据的公司当中很流行。
- Apache Spark,大型的 ETL(数据仓库技术)、预测分析和报表程序经常使用到 Spark。
- Apache Mahout,用于机器学习,比如分类、聚类和推荐。
- JFreechart,用于可视化数据,可以用它制作各种图表,比如饼图、柱状图、线图、散点图、盒状图、直方图等等。
- Deeplearning4j,用于构建各种类型的神经网络,可以与 Spark 集成,运行在 GPU(图形处理器)上。
- Apache Storm,用于处理实时数据流,一个 Storm 节点可以在秒级处理数百万个作业。

沉默王二's avatar
沉默王二 已提交
70
### **物联网(IoT)领域:**
沉默王二's avatar
沉默王二 已提交
71

沉默王二's avatar
沉默王二 已提交
72
![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/overview/three-02.png)
沉默王二's avatar
沉默王二 已提交
73 74 75

Oracle 表示,灵活性和流行度是 IoT 程序员选择 Java 的主要原因。Java 提供了大量的 API 库,可以很容易应用到嵌入式应用程序中。相比其他编程语言,比如 C 语言,Java 在切换平台时更加顺畅,不容易出错。

沉默王二's avatar
沉默王二 已提交
76
### **金融服务领域:**
沉默王二's avatar
沉默王二 已提交
77 78 79 80 81 82

- 聊天机器人,由于可移植性、可维护性、可视化等诸多方面的因素,Java 成了开发聊天机器人最好的工具。
- 欺诈检测和管理,银行和金融公司使用 AI(人工智能)工具来进行金融欺诈和信用卡欺诈检测,而 Java 常用来开发这些 AI 工具。
- 交易系统,Java 虚拟机提供的动态运行时编译优化在很多情况下比编译型语言(如 C++)具有更好的性能,让交易系统运行得更顺畅。
- 移动钱包,基于 AI 和 Java 算法开发的移动钱包,可以帮助用户在花钱时做出更智能的决策。

沉默王二's avatar
沉默王二 已提交
83
### **Web 领域:**
沉默王二's avatar
沉默王二 已提交
84 85 86 87 88 89 90 91 92 93

Java 技术对 Web 领域的发展注入了强大的动力,主流的 Java Web 开发框架有很多:

-  Spring 框架,一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,渗透了 Java EE 技术的方方面面,绝大部分 Java 应用都可以从 Spring 框架中受益。
- Spring MVC 框架,是一种基于 Java 实现的 MVC(Model-View-Controller)设计模式的请求驱动类型的轻量级 Web 框架。
- MyBatis 框架,一个优秀的数据持久层框架,可在实体类和 SQL 语句之间建立映射关系,是一种半自动化的 ORM(Object Relational Mapping,对象关系映射)实现。
- JavaServer Faces 框架,由 Oracle 开发,能够将表示层与应用程序代码轻松连接,它提供了一个 API 集,用于表示和管理 UI 组件。

总之,Oracle 宣称,Java 正运行在 97% 的企业计算机上——有点厉害的样子。

沉默王二's avatar
沉默王二 已提交
94 95
----

沉默王二's avatar
7600+  
沉默王二 已提交
96
GitHub 上标星 7600+ 的开源知识库《二哥的 Java 进阶之路》第一版 PDF 终于来了!包括Java基础语法、数组&字符串、OOP、集合框架、Java IO、异常处理、Java 新特性、网络编程、NIO、并发编程、JVM等等,共计 32 万余字,可以说是通俗易懂、风趣幽默……详情戳:[太赞了,GitHub 上标星 7600+ 的 Java 教程](https://tobebetterjavaer.com/overview/)
沉默王二's avatar
沉默王二 已提交
97

沉默王二's avatar
沉默王二 已提交
98 99

微信搜 **沉默王二** 或扫描下方二维码关注二哥的原创公众号沉默王二,回复 **222** 即可免费领取。
沉默王二's avatar
沉默王二 已提交
100

沉默王二's avatar
沉默王二 已提交
101
![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/gongzhonghao.png)