* [为什么会有这个开源知识库](README.md?id=为什么会有这个开源知识库) * [知识库地图](README.md?id=知识库地图) * [Java基础](README.md?id=java基础) * [基础篇](README.md?id=基础篇) * [Java概述](README.md?id=java概述) - [什么是 Java?](docs/overview/what-is-java.md "什么是 Java?") - [Java 的发展简史](docs/overview/java-history.md "Java 的发展简史") - [Java 的优势](docs/overview/java-advantage.md "Java 的优势") - [JDK 和 JRE 有什么区别?](docs/overview/jdk-jre.md "JDK 和 JRE 有什么区别?") - [手把手教你安装集成开发环境 Intellij IDEA](docs/overview/idea.md "Intellij IDEA 安装") - [第一个 Java 程序:Hello World](docs/overview/hello-world.md "第一个 Java 程序:Hello World") * [Java基础语法](README.md?id=java基础语法) - [基本数据类型](docs/basic-grammar/basic-data-type.md "Java 基本数据类型") - [流程控制](docs/basic-grammar/flow-control.md "Java 流程控制") - [运算符](docs/basic-grammar/operator.md "Java 运算符") - [注释](docs/basic-grammar/javadoc.md "Java 注释") * [面向对象](README.md?id=面向对象) - [什么是对象?什么是类](docs/oo/object-class.md "Java 的对象和类") - [变量](docs/oo/var.md "什么是 Java 变量?") - [方法](docs/oo/method.md "Java 方法") - [构造方法](docs/oo/construct.md "Java 构造方法") - [代码初始化块](docs/oo/code-init.md "Java 代码初始化块") - [抽象类](docs/oo/abstract.md "Java 抽象类") - [接口](docs/oo/interface.md "Java 接口") - [static 关键字](docs/oo/static.md "Java static 关键字") - [this 和 super 关键字](docs/oo/this-super.md "Java this 和 super 关键字") - [final 关键字](docs/oo/final.md "Java final 关键字") - [instanceof 关键字](docs/oo/instanceof.md "Java instanceof 关键字") - [不可变对象](docs/basic-extra-meal/immutable.md "Java 不可变对象") - [可变参数](docs/basic-extra-meal/varables.md "Java 可变参数") - [泛型](docs/basic-extra-meal/generic.md "Java 泛型") - [注解](docs/basic-extra-meal/annotation.md "Java 注解") - [枚举](docs/basic-extra-meal/enum.md "Java 枚举") - [反射](docs/basic-extra-meal/fanshe.md "Java 反射") * [字符串String](README.md?id=字符串String) - [String 为什么是不可变的?](docs/string/immutable.md "Java 的字符串 String 为什么是不可变的?") - [字符串常量池](docs/string/constant-pool.md "Java 字符串常量池") - [深入浅出 String.intern](docs/string/intern.md "深入浅出 Java 的 String.intern") - [如何比较两个字符串是否相等?](docs/string/equals.md "如何比较两个 java 字符串是否相等?") - [如何拼接字符串?](docs/string/join.md "如何拼接 Java 字符串?") - [如何拆分字符串?](docs/string/split.md "如何拆分 Java 字符串?") * [数组](README.md?id=数组) - [什么是数组?](docs/array/array.md "什么是 Java 数组?") - [如何打印数组?](docs/array/print.md "如何打印 Java 数组?") * [集合框架(容器)](README.md?id=集合框架(容器)) - [Java 中的集合框架该如何分类?](docs/collection/gailan.md "Java 中的集合框架该如何分类?") - [简单介绍下时间复杂度](docs/collection/big-o.md "简单介绍下 Java 中的时间复杂度") - [ArrayList](docs/collection/arraylist.md "重新认识 Java ArrayList") - [LinkedList](docs/collection/linkedlist.md "重新认识 Java LinkedList") - [ArrayList 和 LinkedList 之增删改查的时间复杂度](docs/collection/list-war-1.md "java ArrayList 和 LinkedList 之增删改查的时间复杂度") - [ArrayList 和 LinkedList 的实现方式以及性能对比](docs/collection/list-war-2.md "java ArrayList 和 LinkedList 的实现方式以及性能对比") - [Iterator与Iterable有什么区别?](docs/collection/iterator-iterable.md "java Iterator与Iterable有什么区别?") - [为什么阿里巴巴强制不要在 foreach 里执行删除操作?](docs/collection/fail-fast.md "为什么阿里巴巴强制不要在 foreach 里执行删除操作?") - [详细讲解 HashMap 的 hash 原理](docs/collection/hash.md "详细讲解 HashMap 的 hash 原理") - [详细讲解 HashMap 的扩容机制](docs/collection/hashmap-resize.md "详细讲解 HashMap 的扩容机制") - [HashMap 的加载因子为什么是 0.75?](docs/collection/hashmap-loadfactor.md) - [为什么 HashMap 是线程不安全的?](docs/collection/hashmap-thread-nosafe.md) * [异常处理](README.md?id=异常处理) - [聊聊异常处理机制](docs/exception/gailan.md "聊聊 java 的异常处理机制") - [关于 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) * [常用工具类](README.md?id=常用工具类) - [数组工具类:Arrays](docs/common-tool/arrays.md) - [集合工具类:Collections](docs/common-tool/collections.md) - [简化每一行代码工具类:Hutool](docs/common-tool/hutool.md) - [Guava,拯救垃圾代码,效率提升N倍](docs/common-tool/guava.md) * [重要知识点](README.md?id=重要知识点) - [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/deep-copy.md) - [为什么重写 equals 时必须重写 hashCode 方法?](docs/basic-extra-meal/equals-hashcode.md) - [方法重载和方法重写有什么区别?](docs/basic-extra-meal/override-overload.md) - [Java 到底是值传递还是引用传递?](docs/basic-extra-meal/pass-by-value.md) - [Java 不能实现真正泛型的原因是什么?](docs/basic-extra-meal/true-generic.md) - [Java 程序在编译期发生了什么?](docs/basic-extra-meal/what-happen-when-javac.md) - [Comparable和Comparator有什么区别?](docs/basic-extra-meal/comparable-omparator.md) - [Java IO 流详细划分](docs/io/shangtou.md) * [进阶篇](README.md?id=进阶篇) * [Java并发编程](README.md?id=Java并发编程) - [室友打一把王者就学会了多线程](docs/thread/wangzhe-thread.md) - [为什么阿里要禁用Executors创建线程池?](https://mp.weixin.qq.com/s/dd_IPt7lQQeIMH7YTdgLIw) - [60张手绘图,一举拿下Java并发!](https://mp.weixin.qq.com/s/bImCIoYsH_JEzTkBx2lj4A) * [Java虚拟机](README.md?id=Java虚拟机) - [JVM 是什么?](docs/jvm/what-is-jvm.md) * [Java企业级开发](README.md?id=Java企业级开发) * [基建篇](README.md?id=基建篇) * [Maven](README.md?id=Maven) - [手把手教你安装、配置、使用 Maven](docs/maven/maven.md) - [守护版 Maven 来了!!!性能提升 300%](docs/maven/mvnd.md) * [Git](README.md?id=Git) - [可能是 Git 历史上最伟大的一次代码提交](docs/git/git-qiyuan.md) - [终于有人把 Git 的数据模型讲清楚了](docs/git/shujujiegou.md) - [昨晚看完 Linus 第一次提交的 Git 代码后,我失眠了!](docs/git/neibushixian.md) - [要熟练使用 Git,恐怕要记住这60个命令](docs/git/mingling.md) - [崩溃!实习生把小组的代码仓库搞得一团糟。。。](docs/git/jibenshiyong.md) - [信不信,7 张图就能让你把 Git 分支管理拿捏的死死的。。](docs/git/fenzhi.md) - [豆瓣9.1分!我昨天在挂急诊时啃完了这本书!](docs/git/progit.md) - [一条 Git 命令减少了一半存储空间,我的服务器在偷着笑](docs/git/sparse-checkout.md) * [Nginx](README.md?id=Nginx) - [Nginx 入门教程,敲简单,10 分钟搞定](docs/nginx/nginx.md) * [Logback](README.md?id=Logback) - [Logback这样配置,性能提升10倍!](https://mp.weixin.qq.com/s/dO1dYAHwyB-81L1z3D_sdg) * [工具篇](README.md?id=工具篇) * [Intellij-IDEA](README.md?id=Intellij-IDEA) - [阅读源码必备的4个 IDEA 高级调试技巧](https://mp.weixin.qq.com/s/KG0yzb_9XhhTSzjHr4DkIQ) * [辅助工具](README.md?id=辅助工具) - [再见Postman!推荐一款更适合国人的接口管理工具ApiPost!](https://mp.weixin.qq.com/s/ZgkNQsve_vq6Xq0_gnWHCw) - [再见了VMware,推荐一款更轻量级的虚拟机Multipass!](https://mp.weixin.qq.com/s/gy6dVHvNy495bqov6JOAdA) - [再见了Swagger,推荐七款可以替代的在线文档生成神器](https://mp.weixin.qq.com/s/tEwVadscpaUI5uR6aiTZkQ) - [干掉visio,这款在线的画图神器 drwa.io 真的绝了!!!](https://mp.weixin.qq.com/s/EaGCe4GRG2C-0zuVxWxl5A) - [干掉 Xshell?Tabby这款开源的终端工具逼格更高!](docs/gongju/tabby.md) - [干掉PowerDesigner,这款开源数据库设计神器chiner真的绝了](docs/gongju/chiner.md) - [再见收费的Navicat!操作所有数据库就靠它了!](docs/gongju/DBeaver.md) * [框架篇](README.md?id=框架篇) * [SpringBoot](README.md?id=SpringBoot) - [一分钟快速搭建 Spring Boot 项目](docs/springboot/initializr.md) - [基于SpringBoot 的CMS系统,拿去开发企业官网真香](https://mp.weixin.qq.com/s/HWTVu7E62VkaH2anQc1J_g) - [Spring Boot为什么不需要额外安装Tomcat?](docs/springboot/tomcat.md) - [Spring Boot 3.0 M1 发布,正式弃用 Java 8](https://mp.weixin.qq.com/s/FmRyF6RcCodb8vUBem8dAA) * [安全篇](README.md?id=安全篇) * [分布式](README.md?id=分布式) * [高性能](README.md?id=高性能) * [消息队列](README.md?id=消息队列) - [敢在简历上写精通消息队列,果然有一手!](https://mp.weixin.qq.com/s/UKWOyS90O6R_y1YEdF_JjQ) * [高可用](README.md?id=高可用) * [实战篇](README.md?id=实战篇) * [开源项目](README.md?id=开源项目) - [EasyPoi实现Excel导入导出,好用到爆,POI可以扔掉了!](https://mp.weixin.qq.com/s/H2Bwc-7ghcjyaEnKUTQ5Dg) - [SpringBoot 实现 Excel 导入导出,性能爆表,用起来够优雅!](https://mp.weixin.qq.com/s/Knb7b-uYLWsKZfgvGgN_ug) - [推荐2 个 Java 练手项目(云E办、仿网易云音乐)](docs/kaiyuan/yuneban-wangyiyunyinyue.md) - [干掉 Xshell?Tabby这款开源的终端工具逼格更高!](docs/gongju/tabby.md) - [干掉PowerDesigner,这款开源数据库设计神器chiner真的绝了](docs/gongju/chiner.md) - [再见丑陋的SwaggerUI,这款开源的API文档生成神器 knife4j 界面更炫酷,逼格更高!](docs/gongju/knife4j.md) - [取代 Mybatis Generator,这款代码生成神器配置更简单,开发效率更高!](docs/kaiyuan/auto-generator.md) * [问题解析](README.md?id=问题解析) - [Log4j2突发重大漏洞](docs/shigu/log4j2.md) - [重现了一波 Log4j2 核弹级漏洞,同事的电脑沦为炮灰](https://mp.weixin.qq.com/s/zXzJVxRxMUnoyJs6_NojMQ) - [生成订单30分钟未支付,则自动取消,该怎么实现?](https://mp.weixin.qq.com/s/J6jb_Dt3C49CIjYBTrN4gQ) - [西安一码通又崩了!难道又不小心回滚到上个版本?](https://mp.weixin.qq.com/s/TaFohrRetiCKEf7ZKESBaQ) - [半月崩两次,从技术角度再来聊聊一码通](https://mp.weixin.qq.com/s/dKsneRKW7G9dvtr9NzefEA) - [使用MQ的时候,怎么确保消息100%不丢失?](https://mp.weixin.qq.com/s/lJdYpH94qGm5Q0pkgfjHTQ) * [数据库](README.md?id=数据库) * [计算机基础](README.md?id=计算机基础) * [求职面试](README.md?id=求职面试) * [八股文](README.md?id=八股文) - [Java 高频面试题 34 道](docs/baguwen/java-basic-34.md) - [Java 基础八股文(背诵版)](docs/baguwen/java-basic.md) - [HashMap 精选面试题](docs/collection/hashmap-interview.md) - [Java 并发编程八股文(背诵版)](docs/baguwen/java-thread.md) - [Java 虚拟机八股文(背诵版)](docs/baguwen/jvm.md) * [面试经验](README.md?id=面试经验) - [上岸杭州阿里云](docs/mianjing/shanganaliyun.md) - [面试官:看你简历上写了Redis,请回答一下这 12 个问题](docs/mianjing/redis12question.md) * [城市选择](README.md?id=城市选择) - [北京都有哪些牛逼的互联网公司?](https://mp.weixin.qq.com/s/xlPZfpd89rDq6L-Me80wnw) - [广州都有哪些牛逼的互联网公司?](https://mp.weixin.qq.com/s/uZQ8p0ytsQFXzt5ppzx6fA) - [深圳有哪些牛批的互联网公司?](https://mp.weixin.qq.com/s/hBU-eEUq8aN5PWwdZFmC4g) - [西安有哪些不错的互联网公司?](https://mp.weixin.qq.com/s/s0Ub1CHC9eEi0YrqPrnRog) - [青岛有牛逼的互联网公司吗?](https://mp.weixin.qq.com/s/8QQvOrkG3Vdjj3GxP1zxBQ) - [郑州有哪些不错的互联网公司?](https://mp.weixin.qq.com/s/SU9drg2xJKcheIwJ6OSSBQ) - [苏州有哪些牛逼的互联网公司?](https://mp.weixin.qq.com/s/cnYsZLudFOwv5EKYMsMh0Q) - [南京有哪些靠谱的互联网公司?](https://mp.weixin.qq.com/s/CfZ1CEmtPOP4TAwAs8Ocrw) - [杭州有哪些顶级的互联网公司?](docs/cityselect/hangzhou.md) * [学习资源](README.md?id=学习资源) * [资源推荐](README.md?id=八资源推荐) * [在线教学视频](README.md?id=在线教学视频) - [推荐 2 个 Java 练手项目(云E办、仿网易云音乐)](docs/kaiyuan/yuneban-wangyiyunyinyue.md) * [程序人生](README.md?id=程序人生) * [码农生活](README.md?id=码农生活) - [中美程序员不完全对比](https://mp.weixin.qq.com/s/KByt42RiDtt2aWpN4klmKg) - [降薪 45%,从互联网回到国企](https://mp.weixin.qq.com/s/qHGdIuA32X-zydbMTKDPuA) - [学弟在微软的这六个月](https://mp.weixin.qq.com/s/08Ax1ArAjchemjUXih7zNw) - [找个程序员做老公/男票有多爽???](https://mp.weixin.qq.com/s/mK0yaen1mhCoWZ6ZLC5vQg) - [研究所月入两万,是什么体验?](docs/manongshenghuo/yanjiusuo-20wan.md) * [闲聊唠嗑](README.md?id=闲聊唠嗑) - [大学计算机系最努力的同学都是如何学习的?](docs/xianliaolaoke/daxue-nuli-jisuanji.md) * [联系作者](README.md?id=联系作者) * [关于作者](README.md?id=关于作者) * [心路历程](README.md?id=心路历程) - [Java 程序员进阶之路网站上线了,颜值贼高!](docs/szjy/tobebetterjavaer-wangzhan-shangxian.md) - [273 块钱购入的域名,值了!](docs/szjy/tobebetterjavaer-yuming-jiexi.md) - [3 年9.9元,HTTP升级到HTTPS,值了!](docs/szjy/tobebetterjavaer-https.md) - [30天,终于搞定域名备案!](docs/szjy/tobebetterjavaer-beian.md) * [联系方式](README.md?id=联系方式)