**Java 概述** - [什么是 Java](docs/overview/what-is-java.md) - [Java 发展简史](docs/overview/java-history.md) - [Java 的优势](docs/overview/java-advantage.md) - [JDK 和 JRE 有什么区别](docs/overview/jdk-jre.md) - [安装集成开发环境 Intellij IDEA](docs/overview/idea.md) - [第一个 Java 程序:Hello World](docs/overview/hello-world.md) **Java 基础语法** - [基本数据类型](docs/basic-grammar/basic-data-type.md) - [流程控制](docs/basic-grammar/flow-control.md) - [运算符](docs/basic-grammar/operator.md) - [注释:代码的最强辅助](docs/basic-grammar/javadoc.md) **面向对象** - [什么是对象?什么是类](docs/oo/object-class.md) - [变量](docs/oo/var.md) - [方法](docs/oo/method.md) - [构造方法](docs/oo/construct.md) - [代码初始化块](docs/oo/code-init.md) - [抽象类](docs/oo/java-abstract.md) - [接口](docs/oo/interface.md) - [static 关键字](docs/oo/static.md) - [this 和 super 关键字](docs/oo/this-super.md) - [final 关键字](docs/oo/final.md) - [instanceof 关键字](docs/oo/instanceof.md) **字符串** - [String 为什么是不可变的](docs/string/immutable.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/array.md) - [打印数组](docs/array/print.md) **集合框架** - [初识集合框架](docs/collection/gailan.md) - [时间复杂度](docs/collection/big-o.md) - [ArrayList](docs/collection/arraylist.md) - [LinkedList](docs/collection/linkedlist.md) - [ArrayList 重拳出击,把 LinkedList 干翻在地](docs/collection/list-war-1.md) - [被 ArrayList 锤了一拳后,LinkedList 很不服气](docs/collection/list-war-2.md) - [海康威视一面:Iterator与Iterable有什么区别?](docs/collection/iterator-iterable.md) - [为什么阿里巴巴强制不要在 foreach 里执行删除操作](docs/collection/fail-fast.md) - [HashMap 的 hash 原理](docs/collection/hash.md) - [HashMap 的扩容机制](docs/collection/hashmap-resize.md) - [HashMap 的加载因子为什么是 0.75](docs/collection/hashmap-loadfactor.md) - [为什么 HashMap 是线程不安全的?](docs/collection/hashmap-thread-nosafe.md) - [HashMap 精选面试题(背诵版)](docs/collection/hashmap-interview.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) **常用工具类** - [数组工具类:Arrays](docs/common-tool/arrays.md) - [集合工具类:Collections](docs/common-tool/collections.md) **加餐** - [Java 中常用的 48 个关键字](docs/basic-extra-meal/48-keywords.md) - [Java 命名约定](docs/basic-extra-meal/java-naming.md) - [Java 默认的编码方式 Unicode](docs/basic-extra-meal/java-unicode.md) - [new Integer(18) 与 Integer.valueOf(18) 有什么区别](docs/basic-extra-meal/int-cache.md) - [自动拆箱与自动装箱](docs/basic-extra-meal/box.md) - [方法重载和方法重写](docs/basic-extra-meal/override-overload.md) - [Java 到底是值传递还是引用传递](docs/basic-extra-meal/pass-by-value.md) - [浅拷贝与深拷贝](docs/basic-extra-meal/deep-copy.md) - [为什么重写 equals 时必须重写 hashCode 方法](docs/basic-extra-meal/equals-hashcode.md) - [注解](docs/basic-extra-meal/annotation.md) - [枚举](docs/basic-extra-meal/enum.md) - [深入理解 Java 中的反射](docs/basic-extra-meal/fanshe.md) - [泛型](docs/basic-extra-meal/generic.md) - [Java 不能实现真正泛型的原因是什么?](docs/basic-extra-meal/true-generic.md) - [Java程序在编译期发生了什么](docs/basic-extra-meal/what-happen-when-javac.md) **Java 虚拟机** - [JVM 是什么?](docs/jvm/what-is-jvm.md) - **其他:** - [公众号](docs/bottom.md)