Java  ·  Kotlin 基础清单

Java 基础
基本语法与数据类型
  • 标识符与关键字
  • 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) · 元注解 · 运行时处理
Kotlin 基础
基本语法与数据类型
  • 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 (属性/包级函数)