Java 历史
引言
Java是当今世界上最流行的编程语言之一,被广泛应用于企业级应用、Web开发、移动应用和嵌入式系统等领域。要真正理解Java的设计理念和特性,了解其发展历史是非常重要 的。本文将带你回顾Java语言从诞生到现在的发展历程,帮助你更深入地理解这门强大的编程语言。
Java 的诞生
Java语言诞生于上世纪90年代初,是由Sun Microsystems公司(现已被Oracle收购)的工程师James Gosling(詹姆斯·高斯林)及其团队开发的。
历史趣闻
Java最初的项目代号为"Oak"(橡树),据说是因为Gosling办公室外有一棵橡树。后来因为"Oak"这个名称已经被注册,团队在咖啡馆头脑风暴时,决定以他们喜爱的咖啡名称"Java"命名这门新语言。
Java 的初衷
Java语言的创建初衷是为了满足当时新兴的消费电子产品(如机顶盒、PDA等)对软件的需求。Gosling团队希望创建一种:
- 平台无关的语言,能够在不同设备上运行
- 安全可靠的语言,减少常见编程错误
- 面向对象的语言,便于开发复杂应用
- 语法友好的语言,让程序员易于上手
"一次编写,到处运行"的理念
Java最著名的口号是"Write Once, Run Anywhere"(一次编写,到处运行),这体现了Java平台独立性的核心价值。
Java 重要版本的发展历程
Java 1.0 (1996)
1995年,Sun公司正式发布Java语言,并在1996年1月发布了Java 1.0版本。这个版本奠定了Java的基础特性:
- Java虚拟机(JVM)
- 基本的Java类库
- Applet技术(允许浏览器执行Java小程序)
Java 1.1 (1997)
增加了重要功能:
- Java内部类
- JavaBeans组件模型
- JDBC(Java数据库连接)
- RMI(远程方法调用)
J2SE 1.2 (1998)
Sun将Java分为三个版本:
- J2SE(标准版)
- J2EE(企业版)
- J2ME(微型版)
J2SE 1.2引入了:
- Swing图形界面库
- JIT(即时编译器)
- 集合框架(Collections Framework)
J2SE 1.3 (2000)和J2SE 1.4 (2002)
这些版本对Java进行了大量性能优化和功能增强:
- HotSpot JVM
- 正则表达式
- 异常链
- XML处理
- 断言(Assertions)
J2SE 5.0 (2004)
这是Java语法的一次重大更新:
- 泛型(Generics)
- 注解(Annotations)
- 枚举类型(Enumerations)
- 自动装箱/拆箱(Autoboxing/Unboxing)
- 增强for循环(Enhanced for-loop)
- 可变参数(Varargs)
- 静态导入(Static import)
Java SE 6 (2006)
Sun将名称从J2SE改为Java SE:
- 脚本语言支持
- JDBC 4.0
- Java编译器API
Java SE 7 (2011)
Oracle收购Sun后发布的第一个Java版本:
- try-with-resources语句
- 字符串switch语句
- 二进制字面值
- 下划线数字字面值
- 钻石操作符(
<>
)改进泛型实例化
Java SE 8 (2014)
这是Java语言的另一次重大更新:
- Lambda表达式
- 函数式接口
- 流API(Stream API)
- 新的日期和时间API
- 接口默认方法
- Optional类
示例代码:Java 8 Lambda表达式
// Java 8之前
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
Collections.sort(names, new Comparator<String>() {
@Override
public int compare(String a, String b) {
return a.compareTo(b);
}
});
// Java 8使用Lambda
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
Collections.sort(names, (a, b) -> a.compareTo(b));
// 或更简洁
names.sort(Comparator.naturalOrder());
Java SE 9 (2017)
- 模块系统(Project Jigsaw)
- JShell(交互式Java REPL)
- 改进的Process API
- 集合工厂方法