亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 语言全景解析:定义、特性、平台架构与版本演进史

什么是 Java?

Java 是一种通用、基于类、面向对象的编程语言,设计目标是可移植、高性能、安全。它驱动着从移动应用、企业级服务器到科学超算、游戏主机的海量应用,通过在几乎所有硬件平台上运行的 Java 虚拟机(JVM)实现真正的跨平台能力。

Java 平台架构

Java Platform 是一套完整的开发与运行工具集,包含三大核心组件:

最初由 James Gosling 在 Sun Microsystems 主导设计,2009 年 Oracle 收购 Sun 后接管 Java 发展。

Java 语言定义与核心价值

Java 是多平台、网络中心化的语言,融合了面向对象设计的强大表达力与健壮的安全模型。它是构建可扩展、安全、高性能应用的主流选择之一,长期霸榜 TIOBE、GitHub Octoverse、Stack Overflow Developer Survey 等多项榜单前列。

Java 主要应用领域

Java 版本演进时间轴

版本发布日期关键特性 / 里程碑支持类型
JDK Alpha/Beta1995初版发布,Applet 时代历史版本
JDK 1.01996-01-23首个正式版历史版本
JDK 1.11997-02-19内部类、JDBC、RMI、反射、Jar 格式历史版本
J2SE 1.21998-12-08Collections 框架、Swing、JIT 编译器、严格浮点历史版本
J2SE 1.32000-05-08HotSpot JVM 成为默认、JNDI、JPDA历史版本
J2SE 1.42002-02-06正则、NIO、日志、XML、断言、偏好 API历史版本
J2SE 5.0 (1.5)2004-09-30泛型、注解、枚举、自动拆装箱、增强 for、varargs、静态导入 —— 语法大跃进历史版本
Java SE 62006-12-11脚本引擎 (JSR 223)、编译器 API、JDBC 4.0、性能大幅提升历史版本
Java SE 72011-07-28try-with-resources、钻石操作符、NIO.2、invokedynamic、G1 GC 预览历史版本
Java SE 82014-03-18Lambda、Stream API、新日期时间、默认方法、Nashorn、Metaspace 替代 PermGen —— LTSLTS (至 2030+)
Java SE 92017-09-21模块系统 (Jigsaw)、JShell、HTTP/2 Client、私有接口方法短期支持
Java SE 102018-03-20局部变量类型推断 var、GC 接口、并行全垃圾回收短期支持
Java SE 112018-09-25HTTP Client 标准化、String 新方法、var 用于 Lambda、LTSLTS (至 2026+)
Java SE 122019-03-19Switch 表达式预览、Shenandoah GC、Microbenchmark Suite短期支持
Java SE 132019-09-17文本块预览、ZGC 取消提交、动态 CDS 归档短期支持
Java SE 142020-03-17Record 预览、Switch 表达式标准化、NIO 映射模式、JFR 事件流短期支持
Java SE 152020-09-15密封类预览、隐藏类、文本块标准化、ZGC 生产就绪、弃用 Biased Locking短期支持
Java SE 162021-03-16Record 标准化、模式匹配 instanceof、Vector API 孵化短期支持
Java SE 172021-09-14密封类、模式匹配 switch、强封装 JDK 内部 API、LTSLTS (至 2029+)
Java SE 182022-03-22简单 Web 服务器、UTF-8 默认、代码片段 API、Vector API 第 3 次孵化短期支持
Java SE 192022-09-20虚拟线程预览 (Project Loom)、结构化并发预览、Record 模式预览短期支持
Java SE 202023-03-21范围值预览、结构化并发二次预览、虚拟线程二次预览短期支持
Java SE 212023-09-19虚拟线程转正、结构化并发、模式匹配 switch、Record 模式、未命名变量、String 模板预览、LTSLTS (至 2031+)
Java SE 222024-03-19隐式构造主类、String 模板二次预览、Vector API 第 7 次孵化、Stream Gatherers短期支持
Java SE 232024-09-17模块导入声明、结构化并发转正、标记接口、Vector API 第 8 次孵化短期支持

Java 核心语言特性

Java 平台四大版本

  1. Java SE (Standard Edition):核心 API,桌面/服务器通用应用基础
  2. Java EE / Jakarta EE (Enterprise Edition):企业级规范栈:Servlet、JPA、CDI、JAX-RS、JTA、Security、Batch、Validation 等,由 Eclipse 基金会维护
  3. Java ME (Micro Edition):资源受限设备轻量 VM、CLDC/MIDP 配置,物联网、Java Card 智能卡
  4. JavaFX:现代富客户端 UI 工具包,硬件加速图形、FXML 声明式布局、CSS 样式、WebView、3D、媒体播放

JVM 工作原理简述

  1. 编写 Example.java,包含 System.out.println(1+2);
  2. javac Example.java 编译为字节码 Example.class
  3. JVM 类加载器加载 .class 文件至方法区,验证、准备、解析、初始化
  4. 执行引擎解释执行字节码,热点代码由 JIT 编译器 (C1/C2/Graal) 编译为本地机器码
  5. 运行时数据区:堆 (对象)、栈 (帧)、方法区 (类元数据)、PC 寄存器、本地方法栈

为什么 Java 跨平台?

编译器生成平台无关字节码,任何实现 JVM 规范的平台(Windows/macOS/Linux/AIX/zOS/Android 等)均可加载执行。无需针对每个平台重新编译源码,仅需对应平台的 JRE/JDK。

总结

java

  1. 代理服务器全解析:定义、工作原理、七大用途、类型对比与VPN差异
  2. 粉末冶金工艺全景:定义、四大核心工序、优势劣势与典型应用
  3. 焊接全解析:定义、类型、工艺与应用指南
  4. 钻床详解:定义、核心部件与主流类型全解析
  5. 牛头刨床详解:定义、部件与操作原理
  6. 电子束焊详解:原理、工艺流程与核心优势
  7. 金属电镀工艺详解:分类、优势与工业应用全景
  8. 腐蚀详解:成因、影响与防护技术全指南
  9. Java 接口 vs 抽象类:如何选择合适的抽象方式
  10. Java 构造器重载详解:规则、链式调用与实战代码
  11. Java 10 移除的废弃 API、特性与选项清单
  12. JDK 10 废弃预警:标记为移除的关键 API 与模块