一、Java概述与发展历史
起源与命名:由James Gosling在Sun Microsystems(现属Oracle)于1990年代初开发,最初命名为Oak(橡树),后因商标问题改为Java(印度尼西亚咖啡产地爪哇岛)。
关键里程碑:
1995年正式发布,提出“一次编写,到处运行”(Write Once, Run Anywhere)理念。
2009年Oracle收购Sun,主导Java发展。
版本演进:从JDK 1.0(1996)到Java SE 17(2021),重大更新包括泛型(Java 5)、Lambda表达式(Java 8)等。
二、核心特性与设计理念
跨平台性:
通过JVM(Java虚拟机) 实现:源代码编译为字节码(.class文件),由JVM在不同操作系统上解释执行。
示例:Windows/Linux/Mac系统只需安装对应JRE即可运行相同Java程序。
面向对象:
纯面向对象设计,支持封装、继承、多态。
摒弃C++的多继承和指针,改用单继承+接口实现扩展性。
自动内存管理:
垃圾回收(GC)机制自动回收无引用对象,避免内存泄漏(对比C++手动管理)。
健壮性与安全性:
强类型检查、异常处理机制。
沙箱模型限制未授权代码访问系统资源。
多线程与高性能:
原生支持多线程,java.util.concurrent包提供高级并发工具。
JIT编译器将热点代码编译为本地机器码,提升运行效率。
三、Java技术体系
平台 | 定位 | 典型应用场景 |
---|---|---|
Java SE | 标准版(核心库与语法) | 桌面应用、基础工具开发 |
Java EE | 企业版(扩展Web/分布式能力) | 大型电商、银行系统(Spring框架) |
Java ME | 微型版(嵌入式设备优化) | 旧版手机应用、IoT设备 |
注:2005年后命名简化为Java SE/EE/ME(取消"2")。
四、应用领域
企业级应用:银行/金融系统(高并发事务处理)。
Android开发:原生Android应用的主要语言(现可与Kotlin混合)。
大数据与云计算:Hadoop、Spark等框架基于Java构建。
Web后端:Spring Boot微服务架构支撑API服务。
五、Java vs 其他语言
特性 | Java优势 | 局限性 |
---|---|---|
跨平台 | JVM适配性强,优于C++ | 启动速度慢于原生编译语言 |
安全性 | 无指针+沙箱模型,优于C/C++ | 灵活性低于Python |
生态成熟度 | Spring/Hibernate等企业框架完善 | AI领域生态弱于Python |
六、入门示例:Hello World
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
编译:javac HelloWorld.java → 生成HelloWorld.class
运行:java HelloWorld