基本语法与数据类型
- 标识符与关键字
- 8种基本数据类型 byte, short, int, long, float, double, char, boolean
- 包装类 Integer, Double, Boolean等
- 自动装箱/拆箱 · 包装类缓存(IntegerCache)
- 隐式/显式类型转换 · 向上/向下转型(instanceof)
- 变量(局部/成员/静态) · 常量(final)
- 字面量表示法 0b, 0, 0x, _
- 运算符(算术/关系/逻辑/位/移位/三元等)
- 字符串 String, StringBuilder, StringBuffer
- 字符串常量池 & intern()
- ==与 equals()区别
控制流
- if-else· switch-case(含增强箭头语法/yield)
- 循环 for, for-each, while, do-while
- 跳转 break, continue, return· 标签(label)
数组
- 一维/多维数组 · 静态/动态初始化
- ArrayIndexOutOfBoundsException
- Arrays工具类 (sort, binarySearch, fill, copyOf, equals, asList)
面向对象 (OOP)
- 类/对象 · 构造器(重载) · 访问修饰符
- 非访问修饰符 static, final, abstract, synchronized, volatile等
- this / super· 封装/继承/多态
- 方法重载/重写 · 抽象类 · 接口(default/static/私有方法)
- 内部类(成员/静态/局部/匿名) · 枚举(Enum)
- 记录类 Record· 密封类 sealed
- Object方法 (equals, hashCode, toString, clone, wait/notify)
- 初始化块(实例/静态)
异常处理
- 异常体系 Throwable, Error, Exception, RuntimeException
- 受检/非受检异常 · try-catch-finally
- try-with-resources· throw/throws
- 自定义异常 · 异常链
集合框架
- Collection接口 · List/Set/Queue
- List: ArrayList, LinkedList, Vector, Stack
- Set: HashSet, LinkedHashSet, TreeSet, EnumSet
- Queue: PriorityQueue, ArrayDeque, LinkedList
- Map: HashMap, LinkedHashMap, TreeMap, Hashtable, ConcurrentHashMap
- 迭代器 · Comparable/Comparator
- Collections工具类 · Fail-Fast/Fail-Safe
- HashMap底层(数组+链表+红黑树/扩容)
泛型
- 泛型类/方法 · 类型擦除
- 通配符 ? extends / ? super· PECS原则
- 泛型反射
常用核心类与API
- Math, System, Runtime
- 旧日期 Date, Calendar, SimpleDateFormat
- 新日期 LocalDate, LocalTime, LocalDateTime, Instant, Duration, Period
- BigInteger, BigDecimal· 正则 Pattern, Matcher
- 随机数 Random, ThreadLocalRandom· 格式化
IO 与 NIO
- 字节流/字符流 · 缓冲流 · 对象序列化(Serializable, transient)
- File类 · NIO核心(Buffer, Channel, Selector, Path, Files)
- 内存映射文件
并发与多线程
- 线程创建(Thread/Runnable/Callable) · 状态转换
- synchronized, volatile· 锁机制(可重入/读写锁)
- JUC显式锁 ReentrantLock, Condition
- 线程池 ExecutorService, ThreadPoolExecutor
- 并发工具类 CountDownLatch, CyclicBarrier, Semaphore
- 原子类 AtomicInteger, AtomicReference
- 并发容器 · ThreadLocal· Future/CompletableFuture
- 锁升级(偏向/轻量级/重量级) · JMM · CAS
新特性 (Java 8+)
- Lambda · 函数式接口 · Stream API · Optional
- 方法引用 ::· 模块化 · 文本块
- 模式匹配 · 虚拟线程 (Java 21+)
JVM 与内存基础
- 运行时数据区(堆/栈/方法区/元空间)
- 分代(新生代/老年代) · 类加载(双亲委派)
- GC算法/回收器(Serial, Parallel, CMS, G1, ZGC)
- GC Roots · JVM调优参数 · 引用类型(强/软/弱/虚)
反射与注解
- Class, Constructor, Field, Method· 动态代理
- 注解(@interface) · 元注解 · 运行时处理
基本语法与数据类型
- val(只读) / var(可变) · 类型推断
- 基本类型 Byte, Short, Int, Long, Float, Double, Char, Boolean
- 无符号整型 UByte, UShort, UInt, ULong
- 数字字面量 0b, 0x, _, L, F, u
- 字符串模板 "$variable"· 原始字符串 """
- 字符串/数字转换 · 无包装类区分(编译优化)
- 数组 Array, IntArray, DoubleArray等
控制流
- if-else表达式 · when(类型/范围/条件)
- for循环 (in, until, downTo, step)
- while, do-while· 标签 @跳转
- 范围 .., in, !in
函数与 Lambda
- fun· 默认参数 · 命名参数 · 单表达式函数
- 可变参数 vararg· 中缀 infix· 尾递归 tailrec
- 局部函数 · Lambda ({ it }) · 高阶函数
- 带接收者的函数字面量 · 内联函数 inline, noinline, crossinline, reified
- 作用域函数 let, run, with, apply, also
面向对象 (OOP)
- 类 class· 主构造函数/init · 次构造函数
- 属性 getter/setter · lateinit var
- 访问修饰符 private, protected, internal, public
- 继承(open, override) · 抽象类 · 接口(属性实现)
- 数据类 data class· 密封类/接口 sealed
- 枚举类 · 对象声明 object· 伴生对象 companion object
- 匿名对象 · 内部类 inner· 委托属性 by lazy, observable
- 类委托 by· 解构声明
空安全
- 可空类型 String?· 安全调用 ?.
- Elvis 操作符 ?:· 非空断言 !!
- 安全转换 as?· 平台类型
集合框架
- 只读/可变集合区分 · List, MutableList, ArrayList
- Set, MutableSet, HashSet, LinkedHashSet, TreeSet
- Map, MutableMap, HashMap, LinkedHashMap
- 创建函数 listOf, mutableListOf, setOf, mapOf, buildList
- Pair/Triple · 序列 Sequence· 集合操作符
泛型
- 泛型类/函数 · 声明处型变 in / out
- 使用处型变 · 星投影 *· reified
异常处理
- try-catch-finally表达式 · 无受检异常
- throw· @Throws注解
协程基础
- 构建器 launch, async, runBlocking, withContext
- 作用域 · 调度器 Dispatchers.Main, IO, Default
- suspend· Deferred/await· 取消/异常处理
- Flow StateFlow, SharedFlow, collect· Channel
其他核心特性
- 扩展函数/属性 · 运算符重载 operator
- 类型别名 typealias· 注解 · 反射 KClass
- 正则 Regex· 解构 · Nothing/Unit
Kotlin 与 Java 互操作
- @JvmName, @JvmStatic, @JvmField, @JvmOverloads
- @JvmSynthetic· SAM 转换
- 调用 Java (平台类型) · Java 调用 Kotlin (属性/包级函数)