javaSE学习笔记01-基本概念
Java 特性
-
跨平台性:Java 通过 JVM(Java 虚拟机)实现“一次编写,到处运行”,能够在不同操作系统上运行。
-
面向对象:Java 支持封装、继承、多态等面向对象编程特性。
-
自动内存管理:Java 提供垃圾回收机制,自动管理内存,减少内存泄漏风险。
-
多线程支持:Java 内置多线程支持,便于开发并发程序。
-
安全性:Java 提供安全管理器和字节码验证机制,增强程序安全性。
-
丰富的类库:Java 标准库(Java Standard Library)提供了大量工具类和接口,简化开发。
-
异常处理:Java 提供强大的异常处理机制,帮助开发者处理运行时错误。
-
动态性:Java 支持反射机制,允许运行时获取类信息和调用方法。
JVM 作用
-
跨平台执行:JVM 将 Java 字节码转换为特定平台的机器码,实现跨平台运行。
-
内存管理:JVM 负责内存分配和垃圾回收,管理堆、栈、方法区等内存区域。
-
字节码执行:JVM 解释或编译字节码为机器码并执行。
-
安全性:JVM 通过字节码验证和安全管理器确保代码安全。
-
性能优化:JVM 使用即时编译器(JIT)优化代码执行效率。
Java 发展阶段
-
Java 1.0(1996年):首个正式版本,包含核心 API 和基本特性。
-
Java 1.1(1997年):引入内部类、JDBC、RMI 等新特性。
-
Java 1.2(1998年):被称为 Java 2,引入集合框架、JIT 编译器、Swing 等。
-
Java 1.4(2002年):引入正则表达式、NIO、日志 API 等。
-
Java 5(2004年):引入泛型、注解、枚举、自动装箱/拆箱等。
-
Java 6(2006年):改进性能,引入脚本语言支持。
-
Java 7(2011年):引入 try-with-resources、NIO.2、Fork/Join 框架等。
-
Java 8(2014年):引入 Lambda 表达式、Stream API、新的日期时间 API 等。
-
Java 9(2017年):引入模块系统(Project Jigsaw)。
-
Java 10(2018年):引入局部变量类型推断(var)。
-
Java 11(2018年):长期支持版本(LTS),移除部分模块。
-
Java 14(2020年):引入 Records、Switch 表达式等预览特性。
-
Java 17(2021年):最新的 LTS 版本,包含 Sealed Classes、Pattern Matching 等新特性。
关键术语
-
JDK(Java Development Kit):Java 开发工具包,包含编译器、调试器等开发工具。
-
JRE(Java Runtime Environment):Java 运行时环境,包含 JVM 和标准库。
-
JVM(Java Virtual Machine):Java 虚拟机,负责执行字节码。
-
Bytecode(字节码):Java 源代码编译后的中间代码,由 JVM 执行。
-
Garbage Collection(垃圾回收):自动管理内存,回收不再使用的对象。
-
ClassLoader(类加载器):负责加载类文件到 JVM。
-
JIT(Just-In-Time Compiler):即时编译器,将字节码编译为机器码以提高性能。
-
API(Application Programming Interface):应用程序编程接口,提供预定义的类和接口。
-
Servlet:用于处理 Web 请求和响应的 Java 类。
-
JSP(JavaServer Pages):用于创建动态 Web 页面的技术。
-
Spring Framework:广泛使用的 Java 应用开发框架。
-
Maven:Java 项目管理和构建工具。
-
Gradle:另一种流行的 Java 构建工具。
-
Lambda Expression(Lambda 表达式):Java 8 引入的匿名函数,简化代码。
-
Stream API:Java 8 引入的用于处理集合数据的 API。
这些特性和术语构成了 Java 的核心,使其成为广泛使用的编程语言。