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.lang
、java.util
、java.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)等配置。
- 精简的API(如
- 典型版本: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 SE | Java核心平台,提供基础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/OpenJFX | Java的现代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…...
第四章: 服务集成抽象
Chapter 4: 服务集成抽象 🌟 从上一章到本章 在第三章:传输机制中,我们学习了如何通过STDIO和SSE协议让LLM与不同服务器通信。现在想象这样的场景:你的AI助手需要同时操作本地文件和云端数据库。这时问题来了——如何让LLM像操作…...
高精度并行2D圆弧拟合(C++)
依赖库 Eigen3 GLM Ceres-2.1.0 glog-0.6.0 gflag-2.2.2 基本思路 Step 1: RANSAC找到圆弧,保留inliers点; Step 2:使用ceres非线性优化的方法,拟合inliers点,得到圆心和半径; -------…...
【防火墙 pfsense】1简介
(1) pfSense 有以下可能的用途: 边界防火墙 路由器 交换机 无线路由器 / 无线接入点 从OSI7层模型了解设备在典型网络结构中所处的位置。 (2)边界防火墙 ->要充当边界防火墙,pfSense 系统至少需要两个接…...
GPT-4o最新图像生成完全指南:10大应用场景与提示词模板
引言 OpenAI于近期推出的全新GPT-4o图像生成功能,代表了AI图像创作领域的重大突破。作为一个原生多模态系统,GPT-4o将文本理解和图像生成无缝整合,为创作者、教育工作者和专业人士提供了前所未有的视觉创作灵活性。本文将分享10个GPT-4o图像…...
32单片机——外部中断
STM32F103ZET6的系统中断有10个,外部中断有60个 1、中断的概念 中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,中断功能的存在,很大程度上提高了单片机处理外部或内部事件的能力 eg::你打开火&…...
《Pinia 从入门到精通》Vue 3 官方状态管理 -- 进阶使用篇
《Pinia 从入门到精通》Vue 3 官方状态管理 – 基础入门篇 《Pinia 从入门到精通》Vue 3 官方状态管理 – 进阶使用篇 《Pinia 从入门到精通》Vue 3 官方状态管理 – 插件扩展篇 目录 Store 的模块化设计4.1 多模块结构设计✅ 推荐目录结构(中大型项目) …...
HarmonyOs @hadss/hmrouter路由接入
参考文档:官方文档 在根目录oh-package.json5配置 {"dependencies": {"hadss/hmrouter": "^1.0.0-rc.11"} }加入路由编译插件 hvigor/hvigor-config.json文件 {"dependencies": {"hadss/hmrouter-plugin": &…...
第九节:性能优化高频题-首屏加载优化策略
路由懒加载:component: () > import(‘…’) CDN加速第三方库、Tree-Shaking移除未使用代码 前端首屏加载优化核心策略解析 一、路由懒加载:按需拆分代码块 实现原理 通过动态导入语法 import() 将路由组件拆分为独立代码块,仅在用户访问…...
ESP32_IDF_VScode安装多版本共存
ESP32_IDF_VScode安装多版本共存 一、安装离线版本idf 详情见文章:ESP32_IDF_基于win11的开发环境搭建 二、windows的VScode安装乐鑫插件 三、导入已经安装好的idf(将VScode插件和本地安装的IDF绑定的一个关系) 1、选择“配置ESP-IDF扩展”…...
JavaScript 的“积木”:函数入门与实践
引言:告别重复,拥抱模块化 想象一下,你在写代码时发现,有几段逻辑几乎一模一样,需要在不同的地方反复使用。你是选择每次都复制粘贴,还是希望能像搭积木一样,把这段逻辑封装起来,需…...
代码注释标记的含义
在代码中,TODO 是一种常用的注释标记,用于标识需要后续处理或完善的任务。它是开发者之间的常见约定,帮助团队协作和任务管理。以下是详细解释: 1. TODO 的核心含义 待办事项:标记代码中需要完成但尚未实现的功能、需…...
深度学习:迁移学习
迁移学习 标题1.什么是迁移学习 迁移学习(Transfer Learning)是一种机器学习方法,就是把为任务 A 开发 的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过 从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数…...
Nest集成健康检查
文章目录 前言✅ NestJS 健康检查集成思路(标准实践)📦 推荐使用官方包: 🧱 结构设计✅ 1. 创建健康模块✅ 2. 集成 nestjs/terminushealth.module.tshealth.controller.ts ✅ 3. 在 AppModule 注册模块 🔍…...
第十五届蓝桥杯 2024 C/C++组 拼正方形
目录 题目: 题目描述: 题目链接: 思路: 思路详解: 易错点: 代码: 代码详解: 题目: 题目描述: 题目链接: P10898 [蓝桥杯 2024 省 C] 拼正…...
前端出现的一些新技术或者升级的技术汇总
以下是截至2024年第三季度前端领域的最新技术动态与论坛热议焦点,涵盖框架、工具链、性能优化等方向,结合社区讨论和实际案例展开分析: 一、框架演进与争议热点 1. React 19「Actions」引发范式转变 核心变化: 服务端Actions&…...
SQL数据类型
数字类型 1. 整型(Integer) 整型数据类型用于存储整数值,不包含小数部分。通常用于表示没有小数部分的数字,如年龄、数量、ID 等。 常见的整型数据类型: INT:用于存储常规整数值,通常占用 4 字…...
手机访问电脑端Nginx服务器配置方式
修改当前站点Nginx的配置如下。其中端口号必须是一个比较独特的端口号,比如8001。这样可以跟别的项目区分开来。域名使用0.0.0.0。 server {listen 80;listen 8001;server_name zfmap.cc 0.0.0.0;假设你电脑端的ip地址是192.168.1.101,那么你的手机与你的电脑连在同…...
PyQt6基础_QTabWidget
目录 代码 运行 官方文档 PySide6.QtWidgets.QTabWidget - Qt for Python 代码 class TempWidget(QWidget):def __init__(self):super().__init__()self.tabs QTabWidget()self.tabs.tabBarClicked.connect(self.tabs_tabBarClicked)widget_tab1 QWidget()widget_tab2…...
海思ISP调试记录
1、proc_param 功能:在海思中,proc_param参数用来控制每个多少帧更新一次ISP,默认是30帧。 过短的更新间隔会导致图像参数不稳定,产生闪烁或色彩跳跃4过长的间隔会使3A调整滞后,影响动态场景适应性1海思建议在1080p3…...
以运营为核心的智能劳动力管理系统,破解连锁零售、制造业排班难题
在连锁零售、制造业、物流等劳动力密集型行业中,排班与考勤管理不仅是人力资源管理的核心环节,更是直接影响企业运营效率、成本控制与合规风险的关键场景。尤其在当前经济环境下,企业面临用工成本攀升、政策合规趋严、业务波动频繁等多重挑战…...
缓存穿透、雪崩、击穿深度解析与解决方案
缓存穿透、雪崩、击穿深度解析与解决方案 一、缓存三大核心问题全景解析 1. 问题定位与影响分析 问题类型触发条件典型现象核心风险缓存穿透大量请求访问不存在的键Redis 命中率骤降(<10%)数据库压力激增,可能宕机缓存雪崩大量缓存键同…...
【AI】基于OllamaSharp与.NET Core API的高效LLM查询实现
本文旨在演示如何通过OllamaSharp NuGet包在.NET Core API中高效查询Ollama大语言模型,重点展示如何通过JSON配置文件动态设置模型参数和服务器地址,实现灵活维护的AI服务架构。 创建.NET Core API项目dotnet new webapi -n OllamaLLMAPI cd OllamaLLMAPI添加OllamaSharp NuG…...
kotlin和MVVM的结合使用总结(二)
MVVM 架构详解 核心组件:ViewModel 和 LiveData 在 Android 中,MVVM 架构主要借助 ViewModel 和 LiveData 来实现。ViewModel 负责处理业务逻辑,而 LiveData 则用于实现数据的响应式更新。 ViewModel 的源码分析 ViewModel 的核心逻辑在 …...
U盘能识别但无法写入数据的原因
1. U 盘物理损坏 原因:U 盘内部存储芯片、电路板或接口接触不良,可能因摔落、高温、频繁插拔等导致。表现:插入电脑能识别盘符,但读写时提示 “磁盘错误”“无法访问” 或操作无反应。解决方法: 尝试用其他设备&#…...
多模态大模型 Qwen2.5-VL 的学习之旅
Qwen-VL 是阿里云研发的大规模视觉语言模型(Large Vision Language Model, LVLM)。Qwen-VL 可以以图像、文本、检测框作为输入,并以文本和检测框作为输出。Qwen-VL 系列模型性能强大,具备多语言对话、多图交错对话等能力ÿ…...
linux sudo 命令介绍
sudo(superuser do)是一个用于 Linux 系统的命令,它允许授权用户以其他用户(通常是 root 超级用户)的安全权限执行命令。 有了 sudo,用户在执行特定的、需要更高权限的操作时,就不需要切换到 r…...
STM32F103系列单片机寄存器操作和标准库操作
关于stm32,标准库很早就学完了,但如果想要更加深入学习计算机硬件,那么学会寄存器操作是非常有必要的。今天从最简单的点灯开始,我们来对比一下二者的不同。 一、寄存器操作和标准库操作中点亮LED的区别 寄存器操作:…...
如何解决PyQt从主窗口打开新窗口时出现闪退的问题
在PyQt5中,当从主窗口打开新窗口时,经常会出现闪退现象,这通常是由于对象生命周期管理不当或事件循环错误等所导致。 1. 确保新窗口实例被正确引用 新窗口的实例若未被主窗口引用,可能会被Python的垃圾回收机制销毁。 错误示例&…...
2025五一杯数学建模竞赛思路助攻预定
2025五一杯数学建模竞赛思路助攻预定(思路内容见文末名片) 一、概况 数学建模竞赛是一项模拟面对实际问题寻求解决方案的活动,是一次近似 于“真刀真枪”的创新探索性实践训练。在丰富并活跃学生课外生活活动的同 时,数学建模竞…...
Java集合框架解析
一、集合框架概述 1. 集合框架体系结构 Java集合框架(Java Collections Framework, JCF)位于java.util包中,包含三大核心接口: Collection:单列数据集合的根接口 List:有序可重复集合Set:无序…...
《100天精通Python——基础篇 2025 第1天:从编程语言到计算机基础,开启你的学习之旅》
目录 一、计算机组成原理之概述篇二、编程语言是什么三、编译型语言和解释型语言的区别3.1 编译型语言3.2 解释型语言 四、Python是什么五、Python有哪些优点和缺点?5.1 Python的优点5.2 Python 的缺点 六、学Python能干什么,Python的应用领域有哪些&…...
JavaFX 第三篇 HostServices和Platform
1、HostServices类 介绍这个类主要是使用里面的一个方法 返回类型方法说明voidshowDocument(java.lang.String uri)使用默认浏览器打开一个url地址 /*** description: 程序打开3秒后,打开百度* author: HK* since: 2025/4/24 16:40*/ public class Demo1 extends…...
【Java 8新特性】Stream API 和 Lambda 表达式
一、前言 Java 8 的 Stream API 和 Lambda 表达式 为集合处理带来了函数式编程风格,显著简化了代码并提高了可读性。 二、Lambda 表达式 1.作用 简化匿名内部类的语法,允许将函数作为参数传递。实现函数式接口(只有一个抽象方法的接口&…...
Vue 3 相比 Vue 2 的优势
1. 性能优化 更快的渲染: 基于 Proxy 的响应式系统,比 Vue 2 的 Object.defineProperty 更高效,初始化速度和内存占用优化显著。编译时优化(如静态树提升、补丁标志等),减少运行时开销。 更小的体积&#…...
深度解析 TransmittableThreadLocal(TTL):原理、实战与优化指南
深度解析 TransmittableThreadLocal(TTL):原理、实战与优化指南 在现代 Java 应用中,ThreadLocal 被广泛用于线程隔离上下文,比如用户会话、链路追踪等。但随着线程池的普及,ThreadLocal 也暴露出严重局限性,尤其是在异步场景中上下文无法正确传递的问题。 本文从 Thr…...
入门 Go 语言
本专栏的 Go 语言学习参考了B站UP 软件工艺师的视频 本节需要: Go 语言环境VSCode 安装环境 下载 Go 环境,并安装下载 VSCode,安装。在 VSCode 中安装 Go 扩展: 接下来就可以编写 Go 语言了 第一条 Go Go 语言是一种编译型…...
膳食营养诊断活动:科技赋能,共筑全民健康新基石
膳食营养诊断活动:科技赋能,共筑全民健康新基石 一、活动背景:响应营养周号召,开启健康新征程 (一)2025营养周主题解读 2025年全民营养周的核心主题“吃动平衡,健康体重,全民行动…...
考拉悠然:科技与匠心,以烟草虫情AI监测系统共筑品质未来
李工,一位在卷烟厂辛勤耕耘了二十余载的老工艺师,他的青春和汗水,都挥洒在了这片弥漫着烟草香气的土地上。他像一位老农,精心呵护着每一片烟叶,因为他深知,烟草品质的把控,就是守护着卷烟厂的生…...
k8s基于角色的访问控制(RBAC)
Kubernetes(k8s)权限管理主要是基于角色的访问控制(RBAC),以下是其核心内容: 核心概念 Role 和 ClusterRole Role :定义特定命名空间内的权限规则,用于在某个命名空间内设置访问权限…...
拆解华为Pura X新发现:“仿生”散热与钛合金“骨架”
拆解华为Pura X新发现:“仿生”散热与钛合金“骨架” 原创 黑毛警长008 AR圈 2025年04月24日 09:42 广东 01 引言:AI时代带来折叠屏新挑战 随着华为Pura X的发布,市场上已出现多家机构的拆解分析,但大多聚焦于芯片和电子组件层面…...
Typecho 访客统计插件最新版-前后台统计图均可显示
这是一个为 Typecho 博客系统开发的访客统计插件,基于原版的VistorLogger修改版本。该插件提供了详细的访问统计功能,包括访问国家/地区统计、IP分布等信息,并进行了隐私保护处理。 功能特点 独立页面模板显示访问国家/地区统计(…...
与智者同行:京东零售技术人的成长书单
我们正处在一个快速变化的时代,信息洪流奔涌而来,如何穿透纷繁的表象,理解世界的复杂性?又如何在充满不确定性的环境中,找到属于自己的方向? 阅读,是最从容的答案,让我们站在智者的…...
matplotlib1-画成对数据图
画图的类型 成对数据(Pairwise data) 成对形式的数据 (x, y);表格形式的数据 (var_0, var_1, ..., var_n) ;函数形式的数据 f(x) y 1. 绘图-plot(x, y) 以线条或标记的形式将 y 随 x 的变化情况绘制成图表。 2. 散点图-scatt…...
深入理解表单---提交用户与网页交互的重要方式:GET 与 POST 的本质区别与应用实践
在 Web 开发中,表单(<form>)是用户与网页交互的重要方式,而表单的 method 属性则决定了数据是如何发送到服务器的。本文将带你系统理解 GET 和 POST 请求方式的区别、使用场景与注意事项,并结合示例进行实战分析…...
VIVADO中单bit信号的跨时钟域处理(快时钟到慢时钟)
VIVADO中单bit信号的跨时钟域处理 同步触发器的约束,确保软件布局布线时把同步的触发器放到同一个SLICE中 目录 前言 一、快时钟的脉冲到慢时钟的同步方法一 1、正确结果 2、源时钟脉冲展宽组合逻辑输出不加触发器的风险 3、目的时钟采样组合逻辑输出不加触发器…...
解决 Windows10 下 UWP 应用无法使用本地代理
从Micorsoft Store下载的应用默认不允许使用本地代理(或者说就不允许访问localhost) 但是可以借助于系统自带的 CheckNetIsolation 工具来突破该限制 操作 找出要修改的应用 SID 在注册表 HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Cur…...
实验三 进程间通信实验
一、实验目的 1、了解什么是信号。 2、熟悉LINUX系统中进程之间软中断通信的基本原理。 3、理解进程的同步关系。 4、掌握用信号实现进程间的同步操作。 5、了解什么是管道。 6、熟悉UNIX/LINUX支持的管道通信方式。 二、实验内容 1、阅读下列程序,执行程序…...
NHANES指标推荐:TyG-WHtR
文章题目:Can cardiovascular health and its modifiable healthy lifestyle offset the increased risk of all-cause and cardiovascular deaths associated with insulin resistance? DOI:10.1186/s12933-025-02674-z 中文标题:心血管健康…...
Winddows11官网下载安装VMware Workstation Pro17(图文详解)
Winddows11安装VMware17 1、官网下载2、安装3、总结 1、官网下载 官网地址 点击Products,滑到最下面,选择SEE DESKTOPP HYPERVISORS 选择 DOWNLOAD FUSION OR WORKSTATION 自动跳转到下面哪个服界面,注册 输入邮箱地址和图片下面的文字…...