本文从 Collection 与 Map 两条体系出发,画出集合框架的接口继承树,讲清 List/Set/Queue/Deque 的语义边界与 AbstractXXX 骨架类的价值;深入 ArrayList 源码拆解延迟初始化、1.5 倍扩容、Arrays.copyOf 与 transient elementData 的自定义序列化;用 modCount 与 expectedModCount 解释 fail-fast 与 ConcurrentModificationException 的成因,并给出四种正确删除元素的姿势;对比 HashSet、TreeSet、LinkedHashSet 的底层
本文从 JDK 5 之前 Object 加强制转换的三大痛点出发,系统讲清泛型类、泛型方法与泛型接口三种形态及类型推断机制;深入剖析类型擦除的规则、历史动因与四大限制,并用 javap -v 的 Signature 属性、checkcast 插入点与 ACC_BRIDGE 桥接方法给出字节码级铁证;完整梳理无界、上界、下界通配符体系与捕获机制,推导 PECS 原则的来龙去脉并对照 Collections.copy 源码;最后汇总泛型数组、自限定类型、泛型异常、反射 ParameterizedType 等实战坑点与十余条高频面试题。
从 Throwable 家族树出发,讲清受检异常与非受检异常的语义边界,以及为什么 Error 不该被捕获;深入 JVM 层面拆解异常传播、fillInStackTrace 的栈轨迹开销与优化手段;用字节码 Exception Table 与 finally 代码复制机制解释 try-catch-finally 的真实执行顺序;完整剖析 try-with-resources 的编译产物、逆序关闭与 suppressed 抑制机制;最后给出自定义异常设计规范、十余条最佳实践与高频面试题清单。
本篇聚焦 Java 开发中最容易踩坑又最常考的四块基础能力:String 的内存模型与不可变性(JDK 9 Compact Strings 的 byte[]+coder 改造、字符串常量池与 intern 的版本差异)、字符串高频 API 与正则编码陷阱、String 与 StringBuilder/StringBuffer 的拼接优化(常量折叠、运行期 StringBuilder 与 invokedynamic StringConcatFactory)、包装类与自动装箱的缓存池与 NPE 风险。后半部分系统梳理 Math/Random 体系、java.time 新日期时间 API 对 Dat
本篇深入 Java 面向对象进阶的四大核心机制:抽象类与接口的本质差异(is-a 与 can-do、invokevirtual 与 invokeinterface 的调用开销)、JDK 8 默认方法与钻石继承的三条冲突解决规则、static 与 final 的字节码语义(常量折叠、类加载时机)、四类内部类的 this$0 合成字段与内存泄漏风险,以及枚举的不可变与序列化保证、策略枚举实战。最后铺垫 Lambda 与函数式接口,并给出十余道高频面试题。
本文是 Java 从入门到精通系列第三篇,系统讲解面向对象核心知识:类与对象的创建过程、JVM 对象内存布局、封装与访问控制、继承与方法重写规则、多态的动态绑定实现(invokespecial、invokevirtual、invokeinterface 指令与方法表解析),以及 Object 类 equals、hashCode、toString、clone 契约。最后用动物园与订单系统两个实战案例展示如何用多态消除 if-else,并附十余道高频面试题解析。
本文是「Java 从入门到精通」系列第二篇,系统讲透基础语法的底层机制:八种基本类型的位宽与 IEEE 754 存储模型、0.1+0.2 不等于 0.3 的真正原因、int 溢出与二进制补码回绕、char 与 UTF-16 代理对、运算符优先级与短路求值陷阱、位掩码与位图实战、switch 从 int 到 String 到箭头语法的演进、数组的堆内存布局与浅拷贝、可变参数与重载匹配三阶段、值传递的本质,以及 Scanner 吞回车的经典坑。读完你将不再停留在"语法是这样",而是能回答"为什么是这样",并掌握十道高频面试题的标准答案。
本文系统梳理 Java 开发环境搭建的全过程:从 JDK/JRE/JVM 的关系与版本选型,到 Windows、macOS、Linux 三平台的安装与 JAVA_HOME、PATH、CLASSPATH 配置原理,再到 HelloWorld 从源码编译为字节码、被 JVM 加载执行的完整链路。同时覆盖 IDEA 工程结构与调试技巧、package 与 JPMS 模块化、jar 打包,以及 Maven 坐标、依赖范围、依赖调解与生命周期。最后给出 UnsupportedClassVersionError、ClassNotFoundException、NoClassDefFoundError 等高频
从"一个 .class 文件是如何变成内存中可用的 Class 对象"讲起,系统拆解 JVM 类加载机制:类的生命周期五阶段与主动/被动引用的初始化时机、四层类加载器与双亲委派模型的设计动机、SPI/JDBC 与 Tomcat 破坏双亲委派的经典案例、自定义类加载器与热部署实战,最后总结 ClassNotFoundException 与 NoClassDefFoundError 的区别等生产避坑清单,与 JVM GC 篇共同拼出完整的 JVM 运行时图景。