当前位置: 首页 > article >正文

Java技术体系的主要产品线详解

Java技术体系的主要产品线详解

在这里插入图片描述

·Java Card:支持Java小程序(Applets)运行在小内存设备(如智能卡)上的平台。

·Java ME(Micro Edition):支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了移动终端的针对性支持,这条产品线在JDK 6以前被称为J2ME。有一点读者请勿混淆,现在在智能手机上非常流行的、主要使用Java语言开发程序的Android并不属于Java ME。

·Java SE(Standard Edition):支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,这条产品线在JDK 6以前被称为J2SE。

·Java EE(Enterprise Edition):支持使用多层架构的企业应用(如ERP、MIS、CRM应用)的Java平台,除了提供Java SE API外,还对其做了大量有针对性的扩充[4],并提供了相关的部署支持,这条产品线在JDK 6以前被称为J2EE,在JDK 10以后被Oracle放弃,捐献给Eclipse基金会管理,此后被称为Jakarta EE。

在这里插入图片描述


1. Java SE(Java Standard Edition,Java标准版)
  • 定义:Java的核心平台,提供基础API和JVM,是Java开发的基础。
  • 目标:支持通用应用程序开发(桌面、工具、算法等)。
  • 核心功能
    • 基础类库(java.langjava.utiljava.io)。
    • 多线程、网络编程、集合框架、IO/NIO。
    • 支持泛型、Lambda表达式、模块化(Java 9+)。
  • 典型版本:Java SE 8(Lambda)、Java SE 17(长期支持版)、Java 20(结构化并发)。
  • 应用场景
    • 开发桌面应用(如IDE、数据库工具)。
    • 后端服务(如Spring Boot、微服务框架)。
    • 算法和数据处理工具。

2. Java EE(现为 Jakarta EE,Java Enterprise Edition,Java企业版)
  • 定义:企业级Java平台,提供分布式、可扩展的后端服务支持。
  • 目标:构建大型分布式系统、Web服务、微服务。
  • 核心功能
    • Web服务(Servlet、JSP、Jakarta RESTful Web Services)。
    • 企业级规范(如EJB、JPA、JMS、CDI)。
    • 分布式事务、安全、消息队列。
  • 典型版本
    • Java EE 8(最后的Oracle版本)。
    • Jakarta EE 10(由Eclipse基金会维护,规范包名迁移至jakarta.*)。
  • 应用场景
    • 企业级后端系统(如银行、电商)。
    • 微服务架构(如Spring Framework整合Jakarta EE规范)。
    • 云原生应用(如Kubernetes集成)。

3. Java ME(Java Micro Edition,Java微型版)
  • 定义:面向嵌入式设备和资源受限环境的Java平台。
  • 目标:支持物联网(IoT)、智能卡、移动设备(如旧手机)。
  • 核心功能
    • 精简的API(如javax.microedition包)。
    • 低内存占用、低功耗优化。
    • 支持MIDP(Mobile Information Device Profile)等配置。
  • 典型版本:Java ME 8(支持物联网设备)。
  • 应用场景
    • 智能卡(如SIM卡应用)。
    • 工业控制设备、传感器网络。
    • 旧手机应用(如功能机游戏)。

4. Java Card
  • 定义:专为智能卡和安全设备设计的Java子集。
  • 目标:嵌入式安全应用(如SIM卡、银行卡)。
  • 核心功能
    • 极小内存占用(KB级)。
    • 安全沙箱环境,支持加密算法。
    • 通过Applet实现功能扩展。
  • 典型版本:Java Card 3.1。
  • 应用场景
    • 银行芯片卡、交通卡。
    • 电子护照、身份认证设备。

5. JavaFX(现为 OpenJFX)
  • 定义:Java的现代GUI开发框架,专注于桌面应用的富客户端(Rich Client)。
  • 目标:构建高性能、跨平台的图形界面。
  • 核心功能
    • 基于场景图(Scene Graph)的渲染引擎。
    • 支持CSS样式、动画、多媒体。
    • 与Java SE深度集成。
  • 典型版本:OpenJFX 21(独立于JDK发布)。
  • 应用场景
    • 桌面应用(如开发工具、监控系统)。
    • 数据可视化工具(如图表、仪表盘)。

6. 其他衍生生态
  • Android SDK
    • 基于Java(现支持Kotlin)的移动开发框架。
    • 使用Java语言但运行在Android虚拟机(ART)上。
  • GraalVM
    • 多语言虚拟机,支持Java与JavaScript、Python等混合开发。
    • 提供AOT编译(Substrate VM)提升性能。

表格总结:Java技术体系产品线对比

产品线定义目标平台/场景核心功能典型版本当前状态
Java SEJava核心平台,提供基础API和JVM。桌面应用、通用后端服务、算法工具多线程、集合框架、NIO、模块化(Java 9+)Java SE 20活跃开发,长期支持版本(LTS)
Java EE/Jakarta EE企业级Java平台,支持分布式系统。企业级后端、微服务、云原生应用Servlet、JPA、CDI、RESTful服务Jakarta EE 11由Eclipse基金会维护,规范迁移至Jakarta命名空间
Java ME面向资源受限设备的Java版本。嵌入式设备、物联网、旧手机精简API、低功耗优化Java ME 9维护中,侧重物联网生态
Java Card智能卡专用Java子集。智能卡、安全设备极小内存占用、加密安全Java Card 3.1活跃,用于金融和身份认证
JavaFX/OpenJFXJava的现代GUI框架。桌面富客户端应用CSS样式、动画、场景图渲染OpenJFX 21独立维护,与JDK解耦
Android SDK基于Java/Kotlin的移动开发框架(运行在ART虚拟机)。Android移动设备Android API、布局系统、资源管理Android SDK 34活跃,Google主导

关键总结

  • 核心分层:SE是基础,EE(Jakarta EE)扩展企业功能,ME/Java Card面向嵌入式。
  • 名称变化:Java EE更名为Jakarta EE,由Eclipse基金会维护。
  • 生态扩展:JavaFX专注GUI,Android SDK独立于传统Java平台。
  • 未来趋势:Java SE持续演进(如结构化并发),Jakarta EE拥抱云原生。

相关文章:

Java技术体系的主要产品线详解

Java技术体系的主要产品线详解 Java Card:支持Java小程序(Applets)运行在小内存设备(如智能卡)上的平台。 Java ME(Micro Edition):支持Java程序运行在移动终端(手机、P…...

‌机器学习快速入门--0算力起步实践篇

在学习人工智能的过程中,显卡是必不可少的工具,但它的成本较高且更新换代速度很快。那么,没有GPU的情况下如何学习人工智能呢?以下是针对普通电脑与有算力环境分离的学习规划方案,尤其适合前期无GPU/云计算资源的学习者…...

MySQL 详解之索引:提升查询效率的秘密武器

在数据库的世界里,数据量通常是巨大的。想象一下,一个拥有数百万甚至数十亿条记录的表格,如果你需要从中查找符合特定条件的几条甚至一条记录,数据库是如何快速找到它们的呢?如果没有高效的机制,数据库不得不一条条地遍历整个表格,这无疑会非常缓慢和耗费资源。这时,索…...

中通 Redis 集群从 VM 迁移至 PVE:技术差异、PVE 优劣势及应用场景深度解析

在数字化转型浪潮下,企业对服务器资源的高效利用与成本控制愈发重视。近期,中通快递将服务器上的 Redis 集群服务从 VM(VMware 虚拟化技术)迁移至 PVE(Proxmox VE),这一技术举措引发了行业广泛关…...

源码篇 剖析 Vue2 双向绑定原理

前置操作 源码代码仓地址:https://github.com/vuejs/vue/tree/main 1.查看源码当前版本 当前版本为 v2.7.16 2.Clone 代码 在【Code】位置点击,复制 URL 用于 Clone 代码 3.执行 npm install 4.执行 npm run dev 前言 在 Vue 中最经典的问题就是双…...

Restful接口学习

一、为什么RESTful接口是数据开发的核心枢纽? 在数据驱动的时代,RESTful接口如同数据高速公路上的收费站,承担着数据交换的核心职责。数据工程师每天需要面对: 异构系统间的数据交互(Hadoop集群 ↔ 业务系统&#xf…...

C++ round 函数笔记 (适用于算法竞赛)

在算法竞赛中&#xff0c;处理浮点数并将其转换为整数是常见的需求&#xff0c;round 函数是标准库提供的用于执行“四舍五入”到最近整数的工具。理解其工作方式和潜在问题对于避免错误至关重要。 1. 基本用法 头文件 要使用 round 函数&#xff0c;需要包含 <cmath>…...

1.5软考系统架构设计师:架构师的角色与能力要求 - 超简记忆要点、知识体系全解、考点深度解析、真题训练附答案及解析

超简记忆要点 角色职责 需求规划→架构设计→质量保障 能力要求 技术&#xff08;架构模式/性能优化&#xff09; 业务&#xff08;模型抽象→技术方案&#xff09; 管理&#xff08;团队协作/风险控制&#xff09; 知识体系 基础&#xff1a;CAP/设计模式/网络协议案例&am…...

单例模式与消费者生产者模型,以及线程池的基本认识与模拟实现

前言 今天我们就来讲讲什么是单例模式与线程池的相关知识&#xff0c;这两个内容也是我们多线程中比较重要的内容。其次单例模式也是我们常见设计模式。 单例模式 那么什么是单例模式呢&#xff1f;上面说到的设计模式又是什么&#xff1f; 其实单例模式就是设计模式的一种。…...

JAVA程序获取SVN提交记录

1.获取文件提交记录 private String userName "userName "; //svn账号 private String password "password "; //svn密码 private String urlString "urlString "; //svnurl 换成自己对应的svn信息 package com.tengzhi.common.dao;import…...

STM32配置系统时钟

1、STM32配置系统时钟的步骤 1、系统时钟配置步骤 先配置系统时钟&#xff0c;后面的总线才能使用时钟频率 2、外设时钟使能和失能 STM32为了低功耗&#xff0c;一开始是关闭了所有的外设的时钟&#xff0c;所以外设想要工作&#xff0c;首先就要打开时钟&#xff0c;所以后面…...

React 与 Vue:两大前端框架的深度对比

在前端开发领域&#xff0c;React 和 Vue 无疑是当下最受欢迎的两大框架。它们各自拥有独特的优势和特点&#xff0c;吸引了大量开发者。无论是初学者还是经验丰富的工程师&#xff0c;选择 React 还是 Vue 都是一个常见的问题。本文将从多个角度对 React 和 Vue 进行对比&…...

Node.js 学习入门指南

Node.js 学习入门指南 Node.js 是一种流行的开源、跨平台的 JavaScript 运行时环境&#xff0c;它使开发者能够在服务器端运行JavaScript代码。本篇文章旨在帮助初学者快速入门并掌握Node.js的基础知识和常用技巧。 一、什么是Node.js&#xff1f; 定义 Node.js 是一个基于…...

Java24新增特性

Java 24&#xff08;Oracle JDK 24&#xff09;作为Java生态的重要更新&#xff0c;聚焦AI开发支持、后量子安全、性能优化及开发者效率提升&#xff0c;带来20余项新特性和数千项改进。以下是核心特性的分类解析&#xff1a; 一、语言特性增强&#xff1a;简化代码与模式匹配 …...

Sentinel源码—6.熔断降级和数据统计的实现一

大纲 1.DegradeSlot实现熔断降级的原理与源码 2.Sentinel数据指标统计的滑动窗口算法 1.DegradeSlot实现熔断降级的原理与源码 (1)熔断降级规则DegradeRule的配置Demo (2)注册熔断降级监听器和加载熔断降级规则 (3)DegradeSlot根据熔断降级规则对请求进行验证 (1)熔断降级…...

Volcano 实战快速入门 (一)

一、技术背景 随着大型语言模型&#xff08;LLM&#xff09;的蓬勃发展&#xff0c;其在 Kubernetes (K8s) 环境下的训练和推理对资源调度与管理提出了前所未有的挑战。这些挑战主要源于 LLM 对计算资源&#xff08;尤其是 GPU&#xff09;的巨大需求、分布式任务固有的复杂依…...

快速体验tftp文件传输(嵌入式设备)

一、参考资料 Linux tftp 命令 | 菜鸟教程 Ubuntu最新版本(Ubuntu22.04LTS)安装Tftp服务及其使用教程-CSDN博客 Windows下的Tftpd32(Tftpd64)软件下载和使用教程-集成了Tftp服务器、客户端-CSDN博客 tftpd32 tftpd64文件传输安装和使用教程【图文并茂】-CSDN博客 二、快速…...

用交换机连接两台电脑,电脑A读取/写电脑B的数据

1、第一步&#xff0c;打开控制面板中的网络和共享中心&#xff0c;如下图配置&#xff0c;电脑A和电脑B均要配置&#xff1b; 注意&#xff1a;要保证电脑A和电脑B在同一子网掩码下&#xff0c;不同的IP地址&#xff1b; 2、在电脑上同时按‘CommandR’&#xff0c;在弹出的输…...

问道数码兽 怀旧剧情回合手游源码搭建教程(反查重优化版)

本文将对"问道数码兽"这一经典卡通风格回合制手游的服务端部署与客户端调整流程进行详细拆解&#xff0c;适用于具备基础 Windows 运维和手游源码调试经验的开发者参考使用。教程以实战为导向&#xff0c;基于原始说明内容重构优化&#xff0c;具备较高的内容查重避重…...

WLAN共享给以太网后以太网IP为169.254.xx.xx以及uboot无法使用nfs下载命令的的解决方案

WLAN共享网络给以太网&#xff0c;实际上是把以太网口当作一个路由器&#xff0c;这个路由器的IP是由WLAN给他分配的&#xff0c;169.254.xx.xx是windows设定的ip&#xff0c;当网络接口无法从上一级网络接口获得ip时&#xff0c;该网络接口的ip被设置为169.254 &#xff0c;所…...

Gazebo 仿真环境系列教程(一):环境安装与基础使用

文章目录 一、版本说明与技术背景1.1 Gazebo 版本分支1.2 版本选择建议 二、系统环境准备2.1 硬件要求2.2 软件依赖 三、Gazebo Garden 安装流程3.1 添加官方软件源3.2 执行安装命令3.3 环境验证 四、Gazebo Classic 安装方法4.1 添加软件仓库4.2 安装核心组件4.3 验证安装 五、…...

ROS 快速入门教程03

8.编写Subscriber订阅者节点 8.1 创建订阅者节点 cd catkin_ws/src/ catkin_create_pkg atr_pkg rospy roscpp std_msgs ros::Subscriber sub nh.subscribe(话题名, 缓存队列长度, 回调函数) 回调函数通常在你创建订阅者时定义。一个订阅者会监听一个话题&#xff0c;并在有…...

在 macOS 上合并 IntelliJ IDEA 的项目窗口

在使用 IntelliJ IDEA 开发时&#xff0c;可能会打开多个项目窗口&#xff0c;这可能会导致界面变得混乱。为了提高工作效率&#xff0c;可以通过合并项目窗口来简化界面。本文将介绍如何在 macOS 上合并 IntelliJ IDEA 的项目窗口。 操作步骤 打开 IntelliJ IDEA: 启动你的 I…...

SEO(Search Engine Optimization,搜索引擎优化)相关知识点

SEO&#xff08;Search Engine Optimization&#xff09;是指搜索引擎优化&#xff0c;是计算机领域中通过技术手段和内容策略&#xff0c;提升网站在搜索引擎&#xff08;如Google、Bing、百度&#xff09;中自然&#xff08;非付费&#xff09;排名的系统性方法。是一种通过优…...

C#森林中的兔子(力扣题目)

C#森林中的兔子(力扣题目) 题目介绍 森林中有未知数量的兔子。提问其中若干只兔子 “还有多少只兔子与你&#xff08;指被提问的兔子&#xff09;颜色相同?” &#xff0c;将答案收集到一个整数数组 answers 中&#xff0c;其中 answers[i] 是第 i 只兔子的回答。 给你数组…...

基于多用户商城系统的行业资源整合模式与商业价值探究

随着电子商务的蓬勃发展&#xff0c;传统的单一商家电商模式逐渐显现出一定的局限性。为了解决商家成本过高、市场竞争激烈等问题&#xff0c;多用户商城系统应运而生&#xff0c;成为一种新型的电商平台模式。通过整合行业资源&#xff0c;这种模式不仅极大地提升了平台和商家…...

Three.js + React 实战系列 : 从零搭建 3D 个人主页

可能你对tailiwindcss毫不了解&#xff0c;别紧张&#xff0c;记住我们只是在学习&#xff0c;学习的是作者的思想和技巧&#xff0c;并不是某一行代码。 在之前的几篇文章中&#xff0c;我们已经熟悉了 Three.js 的基本用法&#xff0c;并通过 react-three-fiber 快速构建了一…...

如何用大模型技术重塑物流供应链

摘要 在数字化转型加速的背景下&#xff0c;大模型技术凭借其强大的数据分析、逻辑推理和决策优化能力&#xff0c;正成为物流供应链领域的核心驱动力。本文深入探讨大模型如何通过需求预测、智能调度、供应链协同、风险管控等关键环节&#xff0c;推动物流行业从 "经验驱…...

敏捷开发管理流程

以下是敏捷开发管理流程的详细说明&#xff0c;包含流程框架、关键步骤及案例示例&#xff1a; 敏捷开发管理流程 1. 敏捷核心原则 迭代交付&#xff1a;分小周期&#xff08;Sprint&#xff09;交付可工作的软件&#xff0c;通常2~4周为一个迭代。用户需求驱动&#xff1a;以…...

【银河麒麟高级服务器操作系统】磁盘只读问题分析

系统环境及配置 系统环境 物理机/虚拟机/云/容器 虚拟机 网络环境 外网/私有网络/无网络 私有网络 硬件环境 机型 KVM Virtual Machine 处理器 Kunpeng-920 内存 32 GiB 整机类型/架构 arm64 固件版本 EFI Development Kit II / OVMF 软件环境 具体操作系统版…...