软件开发是IT领域中最有价值的职业之一。

Java是最受欢迎的编程语言之一。

如果 Java 平台呼唤您,并且您想沉浸在 Spring、Jakarta EE、Maven、Jenkins 和 Android 开发的世界中,这里是开发人员可以遵循的 2023 年 Java 路线图。

Java 路线图

以下是您在 2023 年 Java 开发人员职业路线图中需要遵循的步骤:

  • 了解基础知识。
  • 了解面向对象。
  • 安装 JDK 和 IDE。
  • 深入了解 API。
  • 构建你的核心 Java 技能。
  • 掌握集合 API。
  • 掌握函数式开发。
  • 跨越中间层。
  • 学习 Java DevOps 工具。
  • 研究JVM和Java平台。

学习 Java 的基础知识

从本质上讲,所有编程语言都是相同的。

计算机程序都能够做到:

  • 通过变量声明来管理数据。
  • 使用 if ... else 执行条件逻辑。
  • 使用迭代循环快速重复完成所有这些操作。

Java 开发人员路线图的第一站是学习这些基础知识。

快速学习 Java

开始使用 Java 很容易。

您甚至不必安装 IDE 或 JDK。您可以通过 Onecompiler 和Replit等网站在线学习Java的基础知识。

如果你使用 JShell,可以使学习 Java 变得更加容易。

通过 JShell 脚本环境学习 Java 比创建带有令人生畏的公共静态 void main 方法声明的 Java 应用程序要容易得多。JShell 将使您的学习之旅更加轻松。

在 Replit 或 Onecompiler 上设置后,创建一些基本应用程序,您可以学习循环、条件逻辑和变量声明等。热门的学习项目包括:

  • 数字猜迷。
  • 石头剪刀布。
  • 待办事项列表。
  • 一个简单的计算器。

掌握了基础知识后,您就可以学习面向对象的分析和设计了。

面向对象的编程概念

对于循环、变量和条件语句而言,所有编程语言几乎相同。编程语言的不同之处在于它们如何组织数据。

Java 是一种面向对象的编程语言,这意味着它将数据组织成称为对象的组件。这意味着 2023 年 Java 开发人员路线图的下一站是学习面向对象的分析和设计。

Java 面向对象的分析和设计概念

在 Java 中,面向对象编程意味着您将数据组织成几个类别:

  • Classes.
  • Interfaces.
  • Enumerations.
  • Records.

要了解对象的工作原理,您还需要学习如何应用面向对象的概念,例如:

  • Abstraction. 抽象
  • Encapsulation. 封装
  • Inheritance. 继承
  • Composition. 组合
  • Polymorphism. 多态

有了这些组件和概念,您将成为面向对象的专家。

面向对象编程技能的发展是开发人员Java路线图上的重要一站。

安装 JDK 和 IDE

您可以使用在线编译器和工具深入研究 Java 的基础知识,但有时您需要 IDE 的强大功能。这是 2023 年开发人员 Java 路线图的下一站。

安装 JDK

至少,Java 开发人员应该在其本地计算机上安装最新的长期支持 (LTS)版本的 Java,以及现代 IDE,例如:

  • Eclipse.
  • NetBeans.
  • Visual Studio.
  • JetBrains的IntelliJ.

与其他三者不同,IntelliJ不是免费的,但它在企业界被广泛使用,并且有可用的试用许可证。

如果开源替代方案更适合您的风格,请尝试 Eclipse、NetBeans 或 Visual Studio 中的任何一种。

探索 JDK

安装 JDK 后,您应该在 \bin 目录中深入研究并探索其中打包的各种工具,例如:

  • javac 编译器。
  • Javadoc 生成器。
  • JShell 编辑器。
  • javap 类反汇编器。
  • 用于指标收集的 JStat。
  • Java Flight Recorder。

您会惊讶于 JDK 捆绑了多少功能齐全的性能、监控和故障排除工具。

探索标准 Java API

在功能齐全的 IDE 的帮助下,Java 开发人员路线图的下一站是探索 JDK 附带的许多标准 Java API。

JDK 标配了数百个包和类。有了这些,您可以完成许多任务,包括:

  • 使用 java.nio 软件包创建您自己的 Web 服务器。
  • 访问包含 JDBC 组件的数据库。
  • 使用 Java Swing 创建简单的 Windows 应用程序。
  • 使用并发 API 创建线程化应用。

很少有编程语言像Java那样带有那么多的API。

使用这些 API 进一步构建您的 Java 编程知识。

加强您的核心 Java 技能

在使用 IDE 快速完成标准 API 之后,是时候回到基础并专注于一些核心 Java 构造了,包括:

  • Generics.
  • Modules.
  • 异常处理。
  • 正则表达式。

Java 泛型

Java的类型系统在开始时可能会让人不知所措,大多数开发人员在学习之旅开始时就忽略了 Java 泛型。

但是,对 Java 泛型的深入了解将使您更深入地了解Java的工作原理 - 更重要的是,将 Java 如何与 Python 和 JavaScript 等语言区分开来。

Java 模块

Java的模块系统相对较新,正在学习该语言的开发人员经常跳过模块,以分散不必要的注意力。然而,它们是Java平台的一个非常强大的功能,开发人员不得不学习它。

Java 异常处理

异常处理是Java新手在开始时经常推迟的另一个主题。

开发人员需要学习试用的基础知识比如 try...catch...finally,以及有用的语法糖,例如:

  • 资源初始化。
  • 可关闭的接口。
  • 禁止的异常。
  • 已检查与未选中的异常。
  • 错误和运行时异常。

正则表达式

要搜索和解析文本,没有什么比正则表达式或正则表达式更好的了。但是,它们确实需要一两天的练习才能获得正确的语法。

学习正则表达式。

每个软件开发团队至少需要一名知道如何在千兆字节的非结构化文本中找到所有电子邮件地址和电话号码的成员。

掌握 Java 集合类

作为Java开发人员,我们所做的大部分日常工作都归结为列表处理。

Java有一个广泛的集合API,其中包含各种专业组件,可以解决独特的数据处理问题。

您需要熟悉的与集合相关的概念包括:

  • 数组列表与向量。
  • 哈希映射与哈希表。
  • 列表与集合。

您需要了解的各个集合类包括:

  • Iterator.
  • Dictionary.
  • LinkedList.
  • Queue.
  • Dequeue.
  • ListIterator.
  • SortedSet.
  • TreeSet.

列表处理是 Java 开发人员的重要主题,必须包含在 Java 程序员的任何路线图中。

函数式编程

将函数式编程引入Java编程语言,以及利用函数式编程范式的各种组件,是几十年来Java编程语言最剧烈的变化。

要熟悉函数式编程,首先要了解 lambda 表达式在Java中的工作原理。

然后熟悉 lambda 表达式中常用的功能接口,包括以下内容:

  • Consumer.
  • Supplier.
  • Predicate.
  • Function.

这些接口及其衍生物贯穿了整个Java领域。熟悉它们,您会发现学习更高级的Java概念(如Streams)要容易得多。

掌握流 (Stream)

如前所述,开发人员所做的大部分工作是操作数据集合。此外,函数式编程的引入是Java平台的巨大变化。

将两者结合起来,您将获得Java Streams API。

Java Streams API

Java Stream 是用于数据处理、过滤和聚合的特殊管道。

Java 流非常高效和强大。当您第一次遇到它们时,它们也令人难以置信地令人生畏。

但是,当您了解 Java 流背后的概念时,它们是不言自明的。

您需要学习的一些关键的 Streams API 方法,以巩固您对 Java Streams 的理解,包括:

  • count and distinct.
  • findFirst and findAny.
  • peek and filter.
  • map and reduce.
  • noneMatch.
  • min and Max.

现代 Java 开发需要深入了解 Streams。对于开发人员来说,这是 2023 年 Java 路线图上的重要一站。

如果没有对Java Streams API的深刻理解,开发人员的Java路线图是不完整的。

Jakarta EE和Spring Boot

Java一直是中端市场的主要竞争者,整个行业向微服务的转变使Spring Boot和 Jakarta EE框架比以往任何时候都更加重要。

Jakarta EE是Java EE中间层开发框架的演变。Oracle最终将Java EE交给了Eclipse基金会,这就是为什么它现在被称为Jakarta。

在 Jakarta EE 中,您会发现重要的企业 API,其中一些数据可以追溯到 J2EE 时代,包括:

  • 上下文和依赖注入
  • Java Persistence API (JPA)
  • Servlet 和 JSP
  • 用于 RESTful Web 服务的 Web API
  • Java服务器面孔
  • 验证接口

Spring Boot 微服务

Spring Boot 是一个开源框架,旨在帮助 Java 开发人员快速构建云原生微服务。

一些 Spring 引导软件包简化了与 JakartaEE API (如 JPA)的集成。其他的简化了对JDBC等核心Java API的访问,其他的,如WebMVC,为JakartaEE API提供了完全独立的替代方案,包括JavaServer Faces和JavaMVC。

Spring vs Jakarta

Jakarta EE和Spring Boot解决了类似的问题。了解其中之一,Java 开发人员可以快速跟上另一个。

开发人员选择首先学习哪一个不是问题,只要开发人员承诺学习其中之一。

尽职调查

DevOps 是关于积极进取的开发人员,他们分享敏捷思维方式,使用可用的最佳工具来创建新流程,以帮助持续交付软件。

一个成功的Java开发人员必须知道在Java平台上驱动DevOps的工具。

目前使用的最重要的Java DevOps工具包括:

  • 用于源代码管理的 Git 和 GitHub。
  • Maven 和 Gradle 构建工具。
  • 用于持续集成的 Jenkins。
  • JUnit 和 Mockito 进行测试。
  • 用于静态代码分析的SonarQube。
  • 用于存储库管理的Artifactory。
  • 用于容器化的码头工人。
  • 用于运行时监控的 Java 任务控制。
  • 使用 GCP、AWS 和 Azure 进行云计算。

这些工具和技术的结合使开发人员能够超越持续集成,进入持续交付的现代领域,并最终实现持续软件部署。

了解DevOps是Java开发人员职业路线图的重要组成部分。

了解 Java 平台

优秀的Java开发人员知道Java编程语言。优秀的Java开发人员了解Java平台。

要成为一名优秀的 Java 开发人员,您必须了解 Java 平台的复杂性,包括以下内容:

  • Java 如何分配内存。
  • 垃圾回收器的工作原理。
  • 如何将Java转换为WebAssembly。
  • 如何反编译 Java 代码。
  • JVM 如何调度线程。
  • 对象序列化的工作原理。

了解这些主题将使您更好地了解 Java 平台的工作原理,这将帮助您在出现低级 JVM 问题时对其进行故障排除。

对于开发人员来说,Java路线图的最后一站是了解JVM是如何工作的。

Java 的 2023 年路线图

对于开发人员来说,2023 年 Java 路线图有很多内容要涵盖,但如果您想作为 Java 程序员在软件开发行业获得有价值的职业,这是值得的。