什么是高级 Java?

27 Mar 2025 | 阅读 16 分钟

advance 的词典含义是前进或发展或改进,而改进的含义是使某事物变得更好的东西。总而言之,我们需要提高我们的基本知识才能精通某个特定领域。

Java 分为两部分,即 Core Java (J2SE)Advanced Java (JEE)。Core Java 部分涵盖了 Java 编程语言的基础知识(数据类型、函数、运算符、循环、线程、异常处理等)。它用于开发通用应用程序。而 Advanced Java 涵盖了标准概念,如数据库连接、网络、Servlet、Web 服务等。在本节中,我们将讨论 什么是高级 Java,它的优点、用途、高级 Java 的主题,以及 Core Java 和高级 Java 之间的区别。

高级 Java

它是 Java 编程语言的一部分。它是一种先进的技术或高级版本的 Java,专门用于开发基于 Web、以网络为中心或企业级应用程序。它包含了 ServletJSP、JDBC、RMI套接字编程 等概念。它是特定领域的专业化。

使用高级 Java 开发的大多数应用程序都使用两层架构,即客户端和服务器。所有在服务器上运行的应用程序都可以被认为是高级 Java 应用程序。

为什么需要高级 Java?

  • 它简化了构建 n 层应用程序的复杂性。
  • 标准化组件和应用程序服务器容器之间的 API。
  • JEE 应用程序服务器和容器提供框架服务。

高级 Java 的好处

高级 Java 的四个主要优点是,以网络为中心、简化流程和面向未来的成像标准。

  • JEE(高级 Java)提供库来理解 Web 应用程序的 客户端-服务器架构 概念。
  • 我们还可以使用 Apache TomcatGlassfish 等 Web 和应用程序服务器。使用这些服务器,我们可以理解 HTTP 协议的工作原理。这在 Core Java 中是无法实现的。
  • 如果您正在处理 Hadoop、云原生数据科学 等交易技术,理解高级 Java 也很重要。
  • 它提供了一组服务、API协议,提供了开发 多层 应用程序、基于 Web 的应用程序所需的功能。
  • 有许多高级 Java 框架,如 Spring、Hibernate、Struts,它们使我们能够开发安全的事务性 Web 应用程序,例如银行应用程序、库存管理应用程序。

高级 Java 如何工作?

高级 Java 的工作方式与其他编程语言类似,通过提供计算机执行以执行功能的指令。Java 的跨不同计算机系统的通用性由 Java 虚拟机 (JVM) 实现,JVM 将 Java 代码翻译成特定于机器的指令。

Servlet 技术是高级 Java 的一个关键方面。Servlet 是自动响应来自在线用户的请求的组件。生成响应后,Servlet 将其发送到 Web 服务器,Web 服务器再将响应发送到用户屏幕上显示。该过程促进了用 Java 构建的动态和交互式 Web 应用程序。

Core Java 和高级 Java 之间的区别

标准Core Java高级 Java
用于它用于开发通用应用程序。它用于开发基于 Web 的应用程序。
目的它不处理数据库、套接字编程等。它处理套接字编程、DOM 和网络应用程序。
架构它是一个单层架构。它是一个多层架构。
版本它是 Java 标准版。它是 Java 企业版。
它提供 java.lang.* 包。它提供 java.servlet.* 包。

用于企业应用程序的高级 Java 技术

1. Java Enterprise Edition (Java EE)

Java Enterprise Edition (Java EE),现称为 Jakarta EE,是高级 Java 编程的关键组成部分。它能够开发功能强大、可扩展且健壮的企业级应用程序,并且可以随着用户群的增长而无缝增长。让我们在高级 Java 的背景下探讨 Java EE 提供的内容。

a. Java Servlets

Java Servlet 是高级 Java 中 Web 应用程序的基础,用于创建动态和交互式网页。Servlet 作为 Web 浏览器和服务器之间的信使,促进对用户操作的快速响应。它们管理用户请求和响应,即时处理和交付定制的响应。

b. JavaServer Pages (JSP)

JavaServer Pages (JSP) 用于构建动态适应用户输入的 Web 应用程序,使在线体验更具吸引力。JSP 将 Java 集成到 HTML 页面中,无需重新部署或重新编译即可轻松维护。通过将文件扩展名从“.html”更改为“.jsp”,可以轻松地将现有 HTML 页面转换为动态页面,从而减少代码长度。

c. JavaServer Faces (JSF)

JavaServer Faces (JSF) 是一个 API 集合,用于简化创建用户友好且交互式网页的过程。它采用基于组件的方法,开发人员可以从中选择和排列 UI 组件(如按钮、表单和表格)来构建完整的网页。JSF 抽象了复杂的 Web 开发行为,使开发人员能够专注于 UI 组件集成。

d. Enterprise JavaBeans (EJB)

Enterprise JavaBeans (EJB) 是用于管理高级 Java 中复杂业务逻辑和流程的专用组件。它们处理复杂业务任务的可扩展性、安全事务和高效数据处理。EJB 可通过在失败时回滚修改来确保数据完整性,并确保应用程序安全,方法是控制对数据和资源的访问。它支持将应用程序分发到多台计算机,并确保业务软件开发的可扩展性和可靠性。

2. 并发

高级 Java 中的并发是指同时执行多个任务的能力,允许不同的程序独立且并发地运行。它通过同时执行多个任务来最大化性能和增强响应能力,发挥着至关重要的作用。并发确保任务高效执行,不会发生数据损坏、竞态条件或死锁。Java 提供了 ConcurrentMap 和 ConcurrentQueue 等线程安全集合,多个线程可以并发访问它们,从而使并发管理在现代软件开发中变得更轻松、更高效。

示例:在线购物车

在在线购物应用程序中,多个用户可以同时将商品添加到他们的购物车并结账。并发确保

  • 性能:应用程序同时处理多个用户请求,提高响应速度。
  • 数据完整性:同步可防止数据损坏,确保购物车内容和库存更新的准确性。
  • 交易安全:用户可以安全地结账而不会发生冲突,确保可靠的支付处理。

线程安全集合和同步等并发机制对于管理同时用户交互至关重要,可增强应用程序的可扩展性和用户体验。

3. 多线程

多线程允许程序内的多个任务同时运行,通过允许在后台执行耗时任务,同时保持用户界面响应,从而提高响应能力。它将大型任务分解为可以并发执行的小部分,从而提高应用程序的整体性能。

Java 的 API 功能有助于创建和管理线程,使开发人员更容易在应用程序中实现多线程。在高级 Java 中,多线程允许开发人员创建更快、更安全、响应更快、更高效的应用程序,这些应用程序能够有效地处理复杂任务。

4. JDBC

JDBC,即“Java 数据库连接”,是高级 Java 的关键组成部分,有助于与数据库进行交互。它使 Java 应用程序能够使用 Java API 连接到各种关系数据库、执行查询和操作数据。通过 JDBC,Java 程序可以从数据库检索、存储和更新信息。为了解决直接使用 JDBC 所固有的挑战,Spring 框架提供了一个名为 Spring-JDBC 的抽象层。该层简化了数据库交互,提高了 Java 应用程序的效率和可维护性。以下是 JDBC 的分步概述:

  1. 建立连接:首先使用 JDBC 的 DriverManager 类建立到数据库的连接。
  2. 创建语句:连接后,创建 Statement 或 PreparedStatement 对象来执行 SQL 查询。
  3. 执行查询:使用 Statement 或 PreparedStatement 对象执行 SQL 查询以检索、存储或更新数据库中的数据。
  4. 处理结果:处理执行查询获得的结果,例如从 ResultSet 对象检索数据或处理异常。

JDBC 简化了 Java 应用程序中的数据库操作,为无缝数据库连接和管理提供了强大的框架。

5. Java Persistence API (JPA)

Java Persistence API (JPA) 是一组类和方法,用于将大量数据持久化到数据库。它为使用对象关系映射 (ORM) 进行内部实现,将 Java 对象或类存储和管理在关系数据库中提供了一个规范。JPA 持久化框架的关键方面包括:

  1. 对象关系映射 (ORM):JPA 将 Java 对象映射到关系数据库表,简化了数据的存储和检索过程。
  2. Spring Data JPA:该框架建立在 JPA 之上,提供了一个更高级别的抽象,为常见的数据库操作减少了样板代码。
  3. Spring Repository:JPA 特有的存储库扩展,它包含用于以下内容的 API:
    • 基本 CRUD(创建、读取、更新、删除)操作。
    • 分页以高效处理大量数据集。
    • 排序以按指定顺序检索数据。

Spring Data JPA 通过提供现成的存储库实现来简化数据库交互,减少了开发人员为常见数据库操作需要编写的代码量。它提高了使用 JPA 进行数据持久化的 Java 应用程序的生产力和可维护性。

6. Spring 框架

Spring 框架是 Interface21 INC 开发的广泛采用的开源框架。其主要目标是通过利用普通 Java 对象 (POJO) 来实现业务逻辑来简化应用程序开发。Spring 框架的关键方面包括:

  • 简洁性和易于测试:由于其依赖注入方法和对 POJO 的支持,它允许开发人员轻松创建和测试应用程序。
  • 减少依赖:Spring 旨在最大限度地减少应用程序代码对框架的依赖,从而促进干净且可维护的代码。
  • 分层架构:框架结构化为定义明确的模块,每个模块都针对依赖注入、事务管理和 Web 应用程序等特定功能。

Spring 的模块化架构和对简洁性的重视使其成为构建健壮且可扩展的 Java 应用程序的首选。

Spring 框架的特点

1. 可插拔性

  • Spring 允许我们通过配置文件来关联和移除业务层对象。
  • XML 配置文件中的更改需要重新启动应用程序才能生效。

2. 依赖注入

  • Spring 通过根据配置文件中的描述创建业务层对象来实现松耦合。
  • 这使得应用程序的维护和测试更加容易。

3. 容器

  • Spring 框架充当管理所有应用程序对象的容器。
  • 它根据配置文件中的定义处理这些对象的生命周期和配置,创建并关联它们。

4. 轻量级

  • Spring 是一个轻量级框架,可简化复杂应用程序的配置和开发。
  • 它包含基于依赖注入 (DI) 概念构建的定义明确的模块。

Spring 框架提供两种类型的容器

1. Bean Factory

  • Bean Factory 是一个支持依赖注入 (DI) 的简单容器。
  • 它基于配置元数据管理 bean。

2. Application Context

  • Application Context 构建在 Bean Factory 容器的概念之上。
  • 它提供了额外的功能,如面向切面编程 (AOP)、国际化 (i18n)、处理事件的声明式机制等。
  • 由于其增强的功能和超越基本 DI 的能力,Application Context 是大多数应用程序的首选容器。

7. Hibernate

Hibernate 是一个基于 Java 的 ORM (对象关系映射) 框架,用于将对象持久化到数据库。Hibernate 是一个 Java 持久化框架,用于在关系数据库中管理和持久化 Java 对象。

Hibernate 架构层

  1. Java 应用程序层:此层代表应用程序,其中定义和使用了 Java 对象。
  2. Hibernate 框架层:Hibernate 框架层提供 API 和服务,用于将 Java 对象持久化到数据库。它包括 Hibernate Session、Transaction、Configuration、Criteria 和 Query 接口。
  3. 后端 API 层:此层涉及 Hibernate 用于与不同数据库通信的 JDBC (Java 数据库连接) 或其他持久化 API。Hibernate 抽象了数据库交互,使其与数据库无关。
  4. 数据库层:这是持久化数据的物理数据库。Hibernate 代表应用程序生成 SQL 查询并与数据库进行交互。

Hibernate 架构的关键元素

  1. SessionFactory
    • SessionFactory 负责创建 Session 对象,并充当 ConnectionProvider 的客户端。
    • 它还可以选择性地存储数据的二级缓存。
    • 此工厂方法提供了一种获取 Session 对象的方法。
  2. Session
    • Session 对象充当应用程序和数据库中存储的数据之间的接口。
    • 它维护数据的强制一级缓存。

Hibernate 方法

  1. load()
    • load 方法接受一个类类型,并将状态加载到该类的新实例中,将其置于持久化状态。
    • 示例:Student s = (Student)session.load(Student.class, 2);
    • 如果数据库中没有找到匹配的行,它会抛出 ObjectNotFoundException 等无法恢复的异常。
    • 使用 load() 时不会立即访问数据库。
  2. get()
    • 如果您不确定是否存在匹配的行,请使用 get 方法。
    • 它会立即查询数据库,如果找不到匹配的行则返回 null。
  3. save()
    使用 save 将新对象持久化到数据库。
  4. saveOrUpdate()
    使用 saveOrUpdate 来保存新对象或更新现有对象。
  5. delete()
    使用 delete 将对象从数据库中删除,使其再次变为瞬态。

8. Java Messaging Service (JMS)

Java Messaging Service (JMS) 是高级 Java 中的一个关键组件,通过消息传递范例支持各种软件组件之间的有效通信。它允许信息交换,而无需直接或即时交互,这意味着组件不必同时可用。JMS 在消息系统原理上运行,其中组件可以独立发送和接收消息。

JMS 的主要特点

  • 异步通信:JMS 支持异步消息传递,允许组件在不等待响应的情况下进行通信。
  • 解耦:通过允许无直接依赖的通信,JMS 促进了组件之间的松耦合。
  • 点对点 (P2P) 通信:在此模型中,消息从单个生产者发送到单个消费者,确保每条消息仅由一个消费者消耗。

JMS 有效地促进了组件之间的通信,确保了效率和独立性,使其成为高级 Java 应用程序的重要组成部分。

9. Java 安全性

“安全性”一词是指确保应用程序受到保护,验证只有授权用户才能登录。如果用户有效,则授予访问权限,无效用户则被拒绝。安全性根本上涉及两个关键概念:身份验证和授权。这些实践对于增强 Java 应用程序和 Java 运行时环境 (JRE) 的安全性至关重要。

Java 中的主要安全功能

  • 身份验证和授权:这些过程验证用户身份并控制对应用程序资源的访问。
  • 安全通信:Java 支持通过 SSL/TLS 等协议在网络上加密数据交换。
  • 身份验证方法:Java 应用程序可以实现各种方法,例如用户名/密码组合和令牌。

身份验证中的令牌

令牌是代表其他事物(例如用户身份)的数据字符串。在身份验证中,非 JWT (JSON Web Token) 令牌是一个字符串,它允许接收者验证发送者的身份。令牌在 RESTful 服务中尤其有用,这些服务的方法是无状态的,或者在单点登录 (SSO) 场景中用于管理对特定功能的访问。

实施这些安全措施有助于确保 Java 应用程序健壮且安全,免受未经授权的访问。

10. Java 设计模式

Java 设计模式是软件设计和开发过程中遇到的常见问题的可重用解决方案。它们提供了组织和组织代码的方法和指南,以确保质量、可维护性、可扩展性和灵活性。

常用的 Java 设计模式

创建型模式

  • 单例:确保类只有一个实例,并提供对该实例的全局访问点。
  • 工厂方法:在不指定确切的创建类的情况下创建对象。
  • 抽象工厂:提供一个接口,用于创建相关或依赖对象的系列,而不指定它们的具体类。
  • 建造者:将复杂对象的构造与其表示分离开来。
  • 原型:通过复制现有对象(称为原型)来创建新对象。

结构型模式

  • 适配器:允许不兼容的接口协同工作。
  • 桥接:将对象的抽象与其实现分离开来,以便两者可以独立变化。
  • 组合:将对象组合成树形结构,以表示部分-整体层次结构。
  • 装饰器:动态地为对象添加附加职责。
  • 外观:为复杂子系统提供简化的接口。
  • 享元:降低创建和操作大量相似对象的成本。

行为型模式

  • 观察者:定义对象之间的一对多依赖关系,以便当一个对象的状态发生变化时,其所有依赖项都会收到通知。
  • 策略:定义算法族,封装每种算法,并使其可互换。
  • 责任链:沿处理程序链传递请求。
  • 命令:将请求封装为对象,从而允许参数化和排队请求。
  • 解释器:实现专门的语言语法或表达式求值器。
  • 迭代器:提供一种顺序访问聚合对象元素的方法,而不公开其底层表示。
  • 中介者:通过在对象之间引入中介者对象来减少对象之间混乱的依赖关系。
  • 状态:允许对象在其内部状态改变时改变其行为。
  • 模板方法:在一个方法中定义算法的骨架,将一些步骤推迟到子类。
  • 访问者:表示要在对象结构元素上执行的操作,允许定义新操作而不更改元素类。

这些设计模式通过解决特定的设计问题并提供经过测试的解决方案,有助于创建健壮且可维护的软件。

高级 Java 主题或教学大纲

1. Web 应用程序基础知识

  • 什么是 Web 应用程序?
  • 什么是 Web 客户端和 Web 服务器?
  • 客户端和服务器如何通信?
  • HTTP 协议基础
  • HTML 语言基础
  • 什么是 TCP/IP 端口、URL?
  • Web 容器的必要性

2. Web 容器和 Web 应用程序项目设置

  • 在机器上设置 Tomcat 容器
  • 在 Eclipse 中设置 Servlet JSP 项目
  • 配置 Servlet JSP API 的依赖项
  • Web 应用程序项目结构

3. Servlets

  • 什么是 Servlet?
  • 它们能做什么?为什么需要它们?
  • Servlet 代码是什么样的?
  • HTTP 方法;GET、POST、PUT、DELETE、TRACE、OPTIONS
  • GET/POST 请求;两者之间的区别
  • Servlet 生命周期
  • Servlet Context 和 Servlet Config
  • 请求的转发和重定向

4. 会话管理

  • 什么是会话?
  • 为什么需要它?
  • 如何获取会话?
  • 客户端和服务器之间的会话信息传递
  • 会话信息传递机制——Cookies、重写
  • 如何销毁会话

5. JSPs

  • JSP 简介和 JSP 的需求
  • 基本 HTML 标签
  • JSP 生命周期

6. JSP 元素

  • 脚本元素
  • 表达式
  • 声明
  • 以上元素的意义以及在 JSP 生命周期中的适应性
  • JSP 中的指令是什么?
  • Page 指令
  • Include 指令
  • Taglib 指令

7. JSP 标签库

  • JSP 标准操作
  • 表达式语言
  • JSTL 基础及其用法
  • 自定义标签库的需求
  • 自定义标签库实现

Struts 框架 (2.x 版本)

1. MVC 基础知识

  • 什么是 MVC?
  • MVC Type1 和 Type2 架构
  • 为什么选择 Struts 框架?
  • Struts 1 概述
  • Struts 1 和 Struts 2 对比

2. Struts 2 架构

  • 以下组件的架构图说明
  • Struts 框架中 Model、View 和 Controller 的组件
  • 拦截器
  • Model/Action 类
  • 值栈
  • OGNL
  • 配置简介;框架和应用程序架构
  • 声明式和注解式配置方法

3. Struts 2 设置和第一个 Action 类

  • 下载 JAR 文件
  • Struts 2 项目构建和配置文件
  • 构建 Action 类
  • 通过 Action 类使用 Struts2 框架拦截 HTTP 请求
  • 在 Action 类中定义数据和业务逻辑
  • 准备并转发控制到视图

4. Struts 2 拦截器

  • 什么是拦截器
  • 拦截器的职责
  • Struts 2 中拦截器调用的机制
  • 定义拦截器
  • 定义拦截器堆栈
  • 定义自定义拦截器

5. Struts 2 标签库

  • Struts 2 标签库简介及其用法

6. Struts 2 验证

  • 使用 Validateable 接口进行验证
  • 用于验证的工作流拦截器机制
  • 使用 Validateable 接口进行验证
  • 验证框架简介和架构
  • 使用上述两种机制验证用户输入

7. Struts 2 Tiles 框架

  • 页面中 Tiles 的简介
  • Struts2 Tiles 框架简介
  • 定义 tiles.xml 文件
  • 为 Tiles 配置页面
  • 带有 Struts2 的完整 Tiles 示例

Hibernate 框架 (3.x 版本)

1. 简介

  • 什么是 ORM 原理?
  • 为什么需要 ORM?
  • ORM 实现

2. Hibernate 架构

  • Hibernate 简介
  • Hibernate 架构
  • 什么是持久化类?

3. Hibernate CRUD

  • 设置 Hibernate 项目
  • 配置所有 JAR 和 XML 文件
  • 使用 Hibernate 连接数据库
  • 使用 Hibernate API 执行基本 CRUD 操作
  • 对象标识;生成器类型类
  • 在 Hibernate 中使用 SQL
  • 使用 HQL
  • 使用 Criteria 查询

4. 映射集合和关联

  • 在 Hibernate 中定义 set、map、list
  • 关联映射
    1. 一对一
    2. 一对多
    3. 多对一
    4. 多对多
  • Hibernate 缓存
  • 什么是缓存?
  • Hibernate 中缓存的类型有哪些?
  • 解释 Hibernate 中的各种缓存机制

5. 使用 Hibernate 注解

  • 使用 Hibernate 注解的示例

Spring 框架 (3.x 版本)

1. Spring 简介

  • 什么是 Spring?
  • Spring 架构解释及其所有组件

2. 所有 Spring 模块简介

  • Spring Bean Factory
  • Spring Application Context
  • Spring DI
  • Spring 集成;Spring Messaging、Spring JMS
  • Spring MVC
  • Spring DAO

3. 设置 Spring

  • Spring 框架的设置
  • 下载 JARs
  • 配置 XML 文件

4. 依赖注入

  • 什么是依赖注入?
  • 如何使用 Spring 框架实现?
  • Spring 中的 Bean 连线机制

5. Spring AOP

  • 什么是 Spring AOP?
  • Spring AOP 的实现

Spring Boot 框架 (2.x 版本)

1. 简介

  • Spring Boot 简介
  • Spring Boot 版本
  • Spring vs Spring Boot vs Spring MVC
  • Spring Boot 架构

2. 创建项目

  • Spring Initializr
  • 下载并安装 STS IDE
  • Spring Boot 示例
  • Spring Boot CLI
  • Spring Boot 示例-STS

3. 项目组件

  • 注解
  • 依赖管理
  • 应用程序属性
  • Starters
  • Starter Parent
  • Starter Web
  • Starter Data JPA
  • Starter Actuator
  • Starter Test
  • Devtools
  • 多模块项目
  • 打包
  • 自动配置

4. 工具套件

  • Hello World 示例
  • 使用 Tomcat 进行项目部署

5. Spring Boot AOP

  • 什么是 AOP?
  • AOP Before Advice
  • AOP After Advice
  • AOP Around Advice
  • After Returning Advice
  • After Throwing Advice

6. Spring Boot 数据库

  • JPA
  • JDBC
  • H2 数据库
  • CRUD 操作

7. Spring Boot 视图

  • Thymeleaf 视图

8. Spring Boot 缓存

  • 什么是缓存?
  • 缓存提供程序
  • EhCaching

9. Spring Boot 杂项

  • 运行 Spring Boot 应用程序
  • 更改端口
  • Spring Boot REST 示例

Web 服务:REST 和 SOAP

  • 日志框架:Splunk、Log4J、SLF4j
  • 版本控制系统 + 存储库托管服务:Git + Github

高级 Java 应用程序

高级 Java 广泛应用于各个领域

  1. 移动应用程序:由于其平台独立性和广泛的兼容性,Java 被广泛用于移动应用开发。
  2. 图形用户界面 (GUI):高级 Java 是在企业网络中开发 GUI 的首选,提供强大的功能和安全性。
  3. Web 应用程序:由于其易用性和强大的安全功能,高级 Java 在 Web 开发中很受欢迎。
  4. 企业应用程序:Java 被广泛用于银行等企业应用程序,利用其强大的运行时环境和与 Web 服务的兼容性。
  5. 科学和数学计算:高级 Java 受开发人员青睐,用于编写复杂的数学和科学计算。
  6. 游戏:游戏开发者使用高级 Java 设计 3D 游戏,利用其性能和灵活性。
  7. 大数据:Java 常用于数据库以高效地管理和处理大量数据。
  8. 分布式应用程序:Java 被广泛用于开发分布式应用程序,得益于其持久性和动态性。
  9. 基于云的应用程序:Java 是基于云的应用程序的热门选择,提供与 SaaS、PaaS 和 IaaS 平台的兼容性。

Advantages and disadvantages of Java

优点

  1. 简洁性:Java 以其简洁性而闻名,与其他许多编程语言相比,它具有易于学习的曲线。
  2. 安全性:Java 通过封装和抽象等功能优先考虑安全性,增强了其应用程序的健壮性。
  3. 价值:由于其直接的设计,实施和维护基于 Java 的解决方案通常具有成本效益。
  4. 广泛的兼容性:Java 的平台独立性使其能够运行在各种系统上,而无需特定的硬件,确保了广泛的兼容性。
  5. 自动垃圾回收:Java 的自动垃圾回收机制通过解除对不必要对象的引用来高效地管理内存,提高了应用程序的整体稳定性。

缺点

  1. 速度:与某些其他编程语言相比,Java 通常被认为速度较慢,这可能会在某些情况下影响性能。
  2. 内存消耗:由于 Java 虚拟机 (JVM) 的开销,Java 通常需要更多内存,这会增加资源消耗。
  3. 较低的交互性:与某些编程语言相比,Java 可能表现出较低级别的与其他软件的交互,这在某些上下文中可能限制互操作性。

下一主题Java 元类