1. Java基础
1.1 面向对象编程
面向过程与面向对象
:理解两者的区别和联系。
面向对象的三大基本特征
:封装、继承、多态。
面向对象的五大基本原则
:单一职责、开闭、里氏替换、接口隔离、依赖倒置。
1.2 Java对象
Object类
:Java中所有类的父类。
JavaBean
:遵循一定规范的Java类,通常用于构建可重用的组件。
equals和hashCode的关系
:确保相等的对象具有相同的hashCode。
对象的clone方法
:实现深拷贝和浅拷贝。
1.3 平台无关性
什么是平台无关性
:Java程序可以在任何支持Java虚拟机的操作系统上运行。
JVM支持的语言
:除了Java,JVM还可以运行其他语言编写的程序,如Scala、Kotlin等。
1.4 值传递
什么是值传递
:在方法调用过程中,参数值的传递。
Java中的值传递
:基本数据类型和对象引用的传递方式。
1.5 基本数据类型
基本类型
:int、float、double、boolean、char等。
浮点数
:float和double的使用和区别。
2. Java高级
2.1 集合框架
Collection
:存放元素的容器,包括List、Set、Queue等。
Map
:键值对集合,包括HashMap、TreeMap等。
2.2 泛型
泛型的概念
:提供一种参数化类型机制,提高代码的复用性和安全性。
泛型的使用
:泛型类、泛型方法、泛型接口等。
2.3 反射
反射的概念
:在运行时获取类的信息。
反射的应用
:动态创建对象、访问私有成员等。
2.4 序列化
序列化的概念
:将对象转换为字节序列,以便存储或传输。
序列化的使用
:实现Serializable接口、使用ObjectOutputStream和ObjectInputStream等。
2.5 枚举
枚举的概念
:一组具有相同类型的常量。
枚举的使用
:定义一组常量,提高代码的可读性。
2.6 I/O
I/O的概念
:输入/输出操作。
I/O的使用
:使用InputStream和OutputStream、Reader和Writer等。
2.7 动态代理
动态代理的概念
:在不修改源代码的情况下,创建一个代理类。
动态代理的应用
:实现AOP(面向切面编程)。
2.8 注解
注解的概念
:用于标识类、方法或字段。
注解的使用
:自定义注解、使用内置注解等。
2.9 时间处理
日期和时间API
:java.util.Date、java.util.Calendar、java.time包等。
时间格式化
:SimpleDateFormat、DateTimeFormatter等。
2.10 编码方式
字符编码
:UTF-8、GBK、ISO-8859-1等。
编码转换
:String类的getBytes和getChars方法。
2.11 语法糖
什么是语法糖
:简化代码的表达方式。
常见的语法糖
:自动装箱/拆箱、Lambda表达式等。
2.12 BigDecimal
BigDecimal的概念
:用于表示高精度的浮点数。
BigDecimal的使用
:BigDecimal类的构造函数、加减乘除等运算。
2.13 常用工具库
日志库
:Log4j、SLF4J等。
JSON处理库
:Jackson、Gson等。
2.14 Java新版本特性
Java 8
:Lambda表达式、Stream API、DateTime API等。
Java 9
:模块化、JShell等。
Java 10
:LocalDate、LocalDateTime等。
Java 11
:基于OpenJDK的Java版本,持续更新中。
3. Java开发工具
3.1 集成开发环境(IDE)
Eclipse
:功能强大的Java IDE。
IntelliJ IDEA
:功能强大的Java IDE,支持多种编程语言。
NetBeans
:功能丰富的Java IDE。
3.2 版本控制系统
Git
:分布式版本控制系统。
SVN
:集中式