- **概述** - [什么是 Java](docs/overview/what-is-java.md) - [Java 发展简史](docs/overview/java-history.md) - [Java 为什么如此流行](docs/overview/why-java-popular.md) - [第一个 Java 程序:Hello World](docs/overview/hello-world.md) - [Java程序在编译期发生了什么](docs/overview/what-happen-when-javac.md) - [JDK 和 JRE 有什么区别](docs/overview/jdk-jre.md) - [JVM 是什么](docs/overview/jvm.md) - [Java 注释:程序的注解](docs/overview/javadoc.md) - **核心语法** - [一网打尽 Java 的那些关键字](docs/core-grammar/java-keywords.md) - [Java 运算符有哪些?](docs/core-grammar/java-operator.md) - [Java 变量类型有哪些](docs/core-grammar/java-var.md) - [Java 数据类型有哪些](docs/core-grammar/java-data-type.md) - [技术大佬的必备素质:命名优雅](docs/core-grammar/java-naming.md) - **分支、循环** - [流程控制语句有哪些?图解版](docs/control/java-control.md) - **字符串** - [从源码的角度来看字符串的不可变性](docs/string/source.md) - [学弟学妹都必须掌握的字符串常量池](docs/string/constant-pool.md) - [深入浅出之美团技术团队解析过的 String.intern](docs/string/intern.md) - [如何比较两个字符串是否相等](docs/string/equals.md) - [如何拼接字符串](docs/string/join.md) - [如何拆分字符串](docs/string/split.md) - **数组** - [最重要的数据结构之一](docs/array/gailan.md) - [数组的专用工具类:java.util.Arrays](docs/array/arrays.md) - [打印数组最优雅的方式:deepToString](docs/array/print.md) - **面向对象** - [对象和类的相爱相杀](docs/object-class/java-object-class.md) - [方法:我负责程序的行为](docs/object-class/java-method.md) - [构造方法:对象初始化的必经之路](docs/object-class/java-construct.md) - [代码初始化块:让我先走一步](docs/object-class/code-init.md) - [抽象类:子类复用的基石](docs/object-class/java-abstract.md) - [接口:抽象的另外一种表现形式](docs/object-class/java-interface.md) - **关键字详解** - [学妹必须学会的 static 关键字](docs/keywords/java-static.md) - [学弟必须掌握的 this 和 super ](docs/keywords/java-this.md) - [再见了,我的 final 关键字](docs/keywords/java-final.md) - [判断对象的类型:instanceof 关键字](docs/keywords/java-instanceof.md) - **关键知识点** - [必知必会的 Unicode:躲开锟斤拷](docs/core-points/unicode.md) - [面试会考,Java 数据类型缓存池](docs/core-points/int-cache.md) - [傻傻分不清:方法重载和方法重写](docs/core-points/override-overload.md) - [Java 表示:我只有值传递,没有引用传递](docs/core-points/pass-by-value.md) - [面试经典题目:浅拷贝与深拷贝有什么区别](docs/core-points/deep-copy.md) - [自动拆箱与自动装箱,好玩](docs/core-points/box.md) - [为什么重写 equals 时必须重写 hashCode 方法](docs/core-points/equals-hashcode.md) - **反射** - [深入理解 Java 的反射](docs/fanshe/fanshe.md) - **异常** - [异常处理机制](docs/exception/gailan.md) - [try-catch-finally](docs/exception/try-catch-finally.md) - [throw 和 throws](docs/exception/throw-throws.md) - [try-with-resouces](docs/exception/try-with-resouces.md) - [异常最佳实践](docs/exception/shijian.md) - **泛型** - [晦涩难懂的泛型](docs/generic/generic.md) - [Java 不能实现真正泛型的原因是什么?](docs/generic/true-generic.md) - **注解** - [撸个注解有什么难的](docs/annotation/annotation.md) - **枚举** - [单例的最佳实现方式——枚举](docs/enum/enum.md) - **集合框架** - [初探集合框架](docs/collection/gailan.md) - **其他:** - [公众号](docs/bottom.md)