{"id":15069309,"url":"https://github.com/niumoo/javanotes","last_synced_at":"2025-04-04T23:06:55.568Z","repository":{"id":40614794,"uuid":"267562776","full_name":"niumoo/JavaNotes","owner":"niumoo","description":"🧱 「Java学习」一份涵盖大部分Java程序员所需要掌握的核心知识。JDK 源码分析 \u0026 Java 新特性 \u0026 Java 并发编程 \u0026 Java 虚拟机 \u0026 SpringBoot 2.x 系列","archived":false,"fork":false,"pushed_at":"2024-04-24T01:39:20.000Z","size":1121,"stargazers_count":517,"open_issues_count":0,"forks_count":108,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-04T23:06:48.767Z","etag":null,"topics":["algorithm","java","java-library","jdk","jvm"],"latest_commit_sha":null,"homepage":"https://www.wdbyte.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/niumoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-28T10:40:53.000Z","updated_at":"2025-04-03T06:18:57.000Z","dependencies_parsed_at":"2024-04-24T02:59:45.051Z","dependency_job_id":null,"html_url":"https://github.com/niumoo/JavaNotes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niumoo%2FJavaNotes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niumoo%2FJavaNotes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niumoo%2FJavaNotes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niumoo%2FJavaNotes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/niumoo","download_url":"https://codeload.github.com/niumoo/JavaNotes/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247261600,"owners_count":20910108,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","java","java-library","jdk","jvm"],"created_at":"2024-09-25T01:41:42.833Z","updated_at":"2025-04-04T23:06:55.527Z","avatar_url":"https://github.com/niumoo.png","language":"Java","readme":"\u003e **原创文章每周更新**。技术文字在写的过程中难免会有纰漏，或者细节不够完善。大家发现问题，可以及时给我 PR 反馈，也可以去 [公众号](https://github.com/niumoo/JavaNotes#%E5%85%AC%E4%BC%97%E5%8F%B7) 给我留言，或者加我 [微信](https://github.com/niumoo/JavaNotes#联系我) 直接说明，我都会及时更正，哪怕是一个错别字。加油！奥利给！\n\n\u003ch1 align=\"center\"\u003e Java Notes \u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"#联系我\" rel=\"nofollow\"\u003e\u003cimg src=\"https://img.shields.io/badge/wechat-微信-9cf.svg\" alt=\"wechat\" data-canonical-src=\"https://img.shields.io/badge/wechat-微信-9cf.svg\" style=\"max-width:100%;\"\u003e\u003c/a\u003e\n  \u003ca href=\"#公众号\"\u003e\u003cimg src=\"https://img.shields.io/badge/公众号-未读代码-success.svg\" alt=\"公众号\" data-canonical-src=\"https://img.shields.io/badge/公众号-未读代码-success.svg\" style=\"max-width:100%;\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://blog.csdn.net/u013735734\" rel=\"nofollow\"\u003e\u003cimg src=\"https://img.shields.io/badge/csdn-CSDN-red.svg\" alt=\"CSDN\" data-canonical-src=\"https://img.shields.io/badge/csdn-CSDN-red.svg\" style=\"max-width:100%;\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://juejin.im/user/5a62d481f265da3e2a0dac9b\" rel=\"nofollow\"\u003e\u003cimg src=\"https://img.shields.io/badge/juejin-掘金-blue.svg\" alt=\"掘金\" data-canonical-src=\"https://img.shields.io/badge/juejin-掘金-blue.svg\" style=\"max-width:100%;\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://www.cnblogs.com/niumoo/\" rel=\"nofollow\"\u003e\u003cimg src=\"https://img.shields.io/badge/cnblogs-博客园-inactive.svg\" alt=\"博客园\" data-canonical-src=\"https://img.shields.io/badge/cnblogs-博客园-inactive.svg\" style=\"max-width:100%;\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://www.zhihu.com/people/bpdwn\" rel=\"nofollow\"\u003e\u003cimg src=\"https://img.shields.io/badge/zhihu-知乎-blue.svg\" alt=\"知乎\" data-canonical-src=\"https://img.shields.io/badge/zhihu-知乎-blue.svg\" style=\"max-width:100%;\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://www.wdbyte.com/\" rel=\"nofollow\"\u003e\u003cimg src=\"https://img.shields.io/badge/wdbyte-未读代码-yellow.svg\" alt=\"未读代码\" data-canonical-src=\"https://img.shields.io/badge/wdbyte-未读代码-yellow.svg\" style=\"max-width:100%;\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n\n目录中没有链接的部分，后续更新，感谢你的关注 ，有问题或者建议可以[一起完善](#🗺-贡献与建议)。\n\u003e Hi there 👋 我是阿朗， 一名 Java 开发者，热衷于分享一些通俗易懂的技术文章。 分享几句鸡汤，长寿在于生活规律；成功在于坚持不懈。 做好的事情，而不是好做的事情。\n\u003c!-- more --\u003e\n\n## ⏳ Java 开发\n\n- [如何破解滑动验证码？](https://www.wdbyte.com/java/img-verification/)\n- [你好 ChatGPT, 帮我看下这段代码有什么问题？](https://www.wdbyte.com/java/chatgpt-files-list.html)\n- [JUnit5 单元测试教程](https://www.wdbyte.com/java/junit5.html)\n- [使用 StringUtils.split 的坑](https://www.wdbyte.com/java/stringutils_split.html)\n- [必应壁纸，我的第一个 400 Star 开源项目](https://www.wdbyte.com/bing-wallpaper-400.html)\n- [Java 中的对象池化](https://www.wdbyte.com/java/object-pool.html)\n- [5种限流算法，7种限流方式，挡住突发流量？](https://www.wdbyte.com/java/rate-limiter.html)\n- [Java 中拼接 String 的 N 种方式](https://www.wdbyte.com/java/string-concat.html)\n- [字符作画，我用字符画个冰墩墩](https://www.wdbyte.com/java/char-image.html)\n- [Java 中 RMI 的使用](https://www.wdbyte.com/2021/05/java/java-rmi/)\n- [如何使用 Github Actions 自动抓取每日必应壁纸?](https://www.wdbyte.com/2021/03/bing-wallpaper-github-action/)\n- [三种骚操作绕过迭代器遍历时的数据修改异常](https://www.wdbyte.com/2021/02/develop/interator-update/)\n- [Guava - 拯救垃圾代码，写出优雅高效，效率提升N倍](https://www.wdbyte.com/2020/10/develop/google-guava/)\n- [「1024」专属序猿的快乐，惊奇迷惑代码大赏](https://www.wdbyte.com/2020/10/2020-1024/)\n- [一篇有趣的负载均衡算法实现](https://www.wdbyte.com/2020/05/algorithm/load-balancing/)\n- [撸了个多线程断点续传下载器，我从中学习到了这些知识](https://www.wdbyte.com/2020/07/tool/java-download/)\n- [Java 开发的编程噩梦，这些坑你没踩过算我输](https://www.wdbyte.com/2020/08/java/java-code-standards/)\n- [如何使用 Lombok 进行优雅的编码](https://www.wdbyte.com/2018/12/develop/tool-lombok/)\n- [使用MyBatis Generator自动生成Model、Dao、Mapper相关代码](https://www.wdbyte.com/2017/11/develop/tool-mybatis-generator/)\n\n## 😍 Java 基础教程\n\n- [JDK、JRE、JVM 的区别](https://www.wdbyte.com/java/jdk-jre-jvm/)\n- [Java 数据类型](https://www.wdbyte.com/java/data-type/)\n- [Java 流程控制](https://www.wdbyte.com/java/flow-control/)\n- [Java String 字符串](https://www.wdbyte.com/java/java-string/)\n- [Java StringBuilder](https://www.wdbyte.com/java/java-stringbuilder/)\n- [Java Scanner](https://www.wdbyte.com/java/scanner/)\n- [Java 多态](https://www.wdbyte.com/java/polymorphism/)\n- [Java Scanner](https://www.wdbyte.com/java/scanner/)\n- [Java 日期时间Date](https://www.wdbyte.com/java/date/)\n- [Java 异常处理](https://www.wdbyte.com/java/exception/)\n- [Java 枚举](https://www.wdbyte.com/java/enum/)\n- [Java 注释](*https://www.wdbyte.com/java/comment/*)\n\n### Java 数组\n- [Java Array 数组](https://www.wdbyte.com/java/java-array/)\n- [Java 多维数组](https://www.wdbyte.com/java/java-array-mul/)\n- [Java Arrays 教程](https://www.wdbyte.com/java/arrays/)\n\n### Java 面向对象\n- [Java 继承](https://www.wdbyte.com/java/extends/)\n- [Java 接口](https://www.wdbyte.com/java/interface/)\n- [Java 抽象类](https://www.wdbyte.com/java/abstract/)\n- [抽象类和接口的区别](https://www.wdbyte.com/java/abs-interface/)\n\n### Java 集合\n- [Java 集合框架](https://www.wdbyte.com/java/collection/)\n- [Java 中使用 List ](https://www.wdbyte.com/java/list/)\n\n### 代码测试\n- [Java 断言 Assert 使用教程与最佳实践](https://www.wdbyte.com/java/assert/)\n\n## 😃Java I/O 教程\n\n- [Java 创建和写入文件](https://www.wdbyte.com/java/io/file-create-write/)\n- [Java 读取文件](https://www.wdbyte.com/java/io/file-read/)\n- [Java 追加内容到文件](https://www.wdbyte.com/java/io/file-append/)\n- [Java 如何删除文件](https://www.wdbyte.com/java/io/file-delete/)\n\n## 🎉 Java 进阶教程\n\n- [ProcessBuilder API 使用教程](https://www.wdbyte.com/java/os/processbuilder/)\n- [Java 热加载手动实现](https://www.wdbyte.com/2019/10/jvm/java-hotput/)\n- [Jpackage - 制作无需预装 Java 环境的 Jar 可执行程序](https://www.wdbyte.com/java/jpackage/)\n\n\n## 🌿 SpringBoot 2.x 教程\n\n使用 **Spring Boot** 可以快速的创建一个基于Spring 的、独立的、生产级的应用程序，并且可以直接运行。Spring Boot 采用习惯性配置，整合大量 Spring 组建和第三方库，让你只需要少量的修改就可以轻松上手。\n\n- [Spring Boot 系列（一）Spring Boot 入门篇](https://www.wdbyte.com/2019/01/springboot/springboot01-quick-start/)\n- [Spring Boot 系列（二）Spring Boot 配置文件](https://www.wdbyte.com/2019/01/springboot/springboot01-config/)\n- [Spring Boot 系列（三）Spring Boot 自动配置](https://www.wdbyte.com/2019/01/springboot/springboot03-auto-config/)\n- [Spring Boot 系列（四）Spring Boot 日志框架](https://www.wdbyte.com/2019/01/springboot/springboot04-log/)\n- [Spring Boot 系列（五）Web 开发之静态资源和模版引擎](https://www.wdbyte.com/2019/02/springboot/springboot-05-web-static-template/)\n- [Spring Boot 系列（六）Web 开发之拦截器和三大组件](https://www.wdbyte.com/2019/02/springboot/springboot-06-web-filter-apo-webbase/)\n- [Spring Boot 系列（七）Web 开发之异常错误处理机制剖析](https://www.wdbyte.com/2019/02/springboot/springboot-07-web-exception/)\n- [Spring Boot 系列（八）动态 Banner 与图片转字符图案的手动实现](https://www.wdbyte.com/2019/02/springboot/springboot-08-banner/)\n- [Spring Boot 系列（九）使用 Spring JDBC 和 Druid 数据源监控](https://www.wdbyte.com/2019/02/springboot/springboot-09-data-jdbc/)\n- [Spring Boot 系列（十）使用 Spring data jpa 访问数据库](https://www.wdbyte.com/2019/03/springboot/springboot-10-data-jpa/)\n- [Spring Boot 系列（十一）使用 Mybatis（自动生成插件） 访问数据库](https://www.wdbyte.com/2019/03/springboot/springboot-11-data-mybatis/)\n- [Spring Boot 系列（十二）使用 Mybatis 集成 pagehelper 分页插件和 mapper 插件](https://www.wdbyte.com/2019/03/springboot/springboot-12-data-mybatis-page/)\n- [Spring Boot 系列（十三）使用邮件服务](https://www.wdbyte.com/2019/03/springboot/springboot-13-email/)\n- [Spring Boot 系列（十四）迅速启用 HTTPS 加密你的网站](https://www.wdbyte.com/2019/08/springboot/springboot-14-https/)\n- [Spring Boot 系列（十五）如何编写自己的 Springboot starter](https://www.wdbyte.com/2019/11/springboot/springboot-15-my-starter/)\n- [Spring Boot 系列（十六）你真的了解 Swagger 文档吗？](https://www.wdbyte.com/2019/11/springboot/springboot-16-web-swagger/)\n- [Spring Boot 系列（十七）迅速使用 Spring Boot Admin 监控你的 Spring Boot 程序](https://www.wdbyte.com/2019/12/springboot/springboot-17-admin/)\n- [Spring Boot 系列（十八）最详细的 Spring Boot 多模块开发与排坑指南](https://www.wdbyte.com/2020/03/springboot/springboot-18-module/)\n- [Spring Boot 系列（十九）SpringBoot 的多数据源配置](https://www.wdbyte.com/2020/12/springboot/springboot-multiple-datasource/)\n- [Spring Boot 系列（二十）三分钟，Spring Boot、JPA 与 SQLite 的快速启动](https://www.wdbyte.com/springboot/sqlite/)\n\n\n以上 Spring Boot 文章源码：[Github.com/niumoo/springboot](https://github.com/niumoo/springboot/)\n\n## ☕ Java 新特性\n\nJava 版本任你发，我用 Java 8 。但是多学点这种装x技巧总没错，何况有些新特性是**真香**。\n\n- [Java 21 新功能介绍 (LTS)](https://www.wdbyte.com/java/java-21/)\n- [Java 20 新功能介绍](https://www.wdbyte.com/java/java-20/)\n- [Java 19 新功能介绍](https://www.wdbyte.com/java/java-19/)\n- [Java 18 新功能介绍](https://www.wdbyte.com/java/java-18/)\n- [Java 17 新功能介绍](https://www.wdbyte.com/java/java-17/)\n- [Java 16 新功能介绍](https://www.wdbyte.com/java/java-16/)\n- [Java 15 新功能介绍](https://www.wdbyte.com/java/java-15/)\n- [Java 14 新特性介绍](https://www.wdbyte.com/java/java-14/)\n- [Java 13 新特性介绍](https://www.wdbyte.com/java/java-13/)\n- [Java 12 新特性介绍](https://www.wdbyte.com/2020/02/jdk/jdk12-feature/)\n- [Java 11 新特性介绍](https://www.wdbyte.com/2020/03/jdk/jdk11-feature/)\n- [Java 10 新特性介绍](https://www.wdbyte.com/2020/02/jdk/jdk10-feature/)\n- [Java 9 新特性介绍](https://www.wdbyte.com/2020/02/jdk/jdk9-feature/)\n- [Java 8 函数接口 UnaryOperator ](https://www.wdbyte.com/java8/java8-unaryoperaotr)\n- [Java 8 函数接口 BiPredicate ](https://www.wdbyte.com/java8/java8-bipredicate)\n- [Java 8 函数接口 BiFunction ](https://www.wdbyte.com/java8/java8-bifunction/)\n- [Java 8 函数接口 Supplier ](https://www.wdbyte.com/java8/java8-supplier/)\n- [Java 8 函数接口 Predicate ](https://www.wdbyte.com/java8/java8-predicate/)\n- [Java 8 函数接口 Function ](https://www.wdbyte.com/java8/java8-function/)\n- [Java 8 Lambda 和 Comparator 排序](https://www.wdbyte.com/java8/comparator/)\n- [Java 8 新特性 - forEach 遍历](https://www.wdbyte.com/java8/java8-foreach/)\n- [Java 8 新特性 - LocalDate、LocalDateTime 时间处理介绍](https://www.wdbyte.com/2019/10/jdk/jdk8-time/)\n- [Java 8 新特性 - 使用 Optional优雅的处理空指针](https://www.wdbyte.com/2019/11/jdk/jdk8-optional/)\n- [Java 8 新特性 - Lambda 表达式、函数接口了解一下](https://www.wdbyte.com/2019/11/jdk/jdk8-lambda/)\n- [Java 8 新特性 - 超强的 Stream 流操作姿势还不学习一下](https://www.wdbyte.com/2019/11/jdk/jdk8-stream/)\n- [Java 7 新特性 - 和低效 IO 说再见，Files,Paths,Path 文件操作介绍](https://www.wdbyte.com/2020/09/jdk/jdk7-file-pahs/)\n- [Java 7 新特性 - 新特性 - 快来补一波 Java 7 语法特性](https://www.wdbyte.com/2020/01/jdk/jdk7-start/)\n\n## 💻 Java 并发编程\n\n- Java 线程创建与运行\n- Java 线程通知与等待\n- Java 线程休眠与让行\n- Java 线程中断与停止\n- Java 线程死锁\n- Java 线程的上下文切换\n- Java 守护线程与用户线程\n- Java ThreadLocal\n- 内存可见性、伪共享\n- Java synchronized\n- Java volatile\n- 原子操作\n- 排它锁、悲观锁、乐观锁、公平锁、非公平锁、独占锁、共享锁、重入锁、自旋锁\n- ThreadLocalRandom\n- LongAdder\n- CopyOnWriteArrayList\n- 锁的原理：LockSupport、ReentrantLock、ReentrantReadWriteLock\n- 并发队列（Queue）\n- 线程池 ThreadPoolExecutor\n- 线程池 ScheduledThreadPoolExecutor\n- 同步器 CountDownLatch、CyclicBarrier、Semaphore\n- Java 并发编程注意事项\n\n## 🕹 Java 虚拟机\n\n- Java 内存模型\n- 垃圾回收算法\n- 垃圾收集器\n- JVM 性能监控与故障处理\n- JVM 性能调优\n- Java 类文件结构\n- JVM 类加载过程\n- 前端编译 \u0026 后端编译 \u0026 优化\n- 锁的自动优化升级策略\n\n## 🔍 Java 性能分析\n- [Java 中的5个代码性能提升技巧，最高提升9.5倍](https://www.wdbyte.com/java/code-5-tips.html)\n- [JMC 使用教程](https://www.wdbyte.com/java/performance/jmc.html)\n- [JFR 使用教程](https://www.wdbyte.com/java/performance/jfr.html)\n- [使用 JMX 监控和管理 Java 程序](https://www.wdbyte.com/java/jmx.html)\n- [Java 中的监控与管理原理概述](https://www.wdbyte.com/java/monitoring.html)\n- [JMH-大厂是如何使用JMH进行Java代码性能测试的？必须掌握！](https://www.wdbyte.com/2020/08/develop/tool-jmh/)\n- [Arthas - Java 线上问题定位处理的终极利器](https://www.wdbyte.com/2019/11/arthas/)\n- [超好用的自带火焰图的 Java 性能分析工具 Async-profiler 了解一下](https://www.wdbyte.com/2019/12/async-profiler/)\n\n## 🔬 JDK 源码分析\n\n面试必备的 JDK 源码分析。探寻 JDK 大佬的设计思路。没有链接部分为后续更新内容，持续更新中。\n\n- [集合 - CopyOnWriteArrayList 实现原理和源码分析](https://www.wdbyte.com/2020/10/jdk/src-copyonwritearraylist/)\n- [集合 - ArrayList和LinkedList 实现原理和源码分析](https://www.wdbyte.com/2020/08/jdk/src-arraylist-linkedlist/)\n- 集合 -「源码分析」Vector\n- [集合 - ConcurrentHashMap 实现原理和源码分析](https://www.wdbyte.com/2020/04/jdk/concurrent-hashmap/)\n- [集合 - HashMap 实现原理和源码分析](https://www.wdbyte.com/2020/03/jdk/hashmap/)\n- 集合 - TreeMap 实现原理和源码分析\n- 集合 - TreeSet 实现原理和源码分析\n- 集合 - LinkedHashSet 实现原理和源码分析\n- 基础类 - Object\n- 基础类 - String\n- 基础类 - StringBuffer \u0026 StringBuilder\n\n## 认证授权\n- [JSON Web Token 入门教程](https://www.wdbyte.com/auth/jwt/)\n\n\n## 🧱 数据结构\n\n- 数组\n- 栈\n- 队列\n- 链表\n- 树\n- 哈希表\n- 堆\n- 图\n\n## 🍔 数据库\n- [SQLite 入门教程](https://www.wdbyte.com/db/sqlite/)\n\n## 🧰 工具技巧\n\n\u003e“工欲善其事，必先利其器”\n\u003e出处：孔子《论语》\n\n一款好用的工具，不仅可以装X，更可以让你事半功倍，准时下班。\n\n- [使用 JCommander 解析命令行参数](https://www.wdbyte.com/tool/jcommander/)\n- [Protobuf 教程](https://www.wdbyte.com/tool/protobuf/)\n- [Apache HttpClient 5 使用详细教程](https://www.wdbyte.com/tool/httpclient5.html)\n- [Jackson 解析 JSON 详细教程](https://www.wdbyte.com/tool/jackson.html)\n- [Java 反编译工具的使用与对比分析](https://www.wdbyte.com/2021/05/java-decompiler/)\n- [cURL 使用教程](https://www.wdbyte.com/2020/06/tool/curl/)\n- [Java IDEA 使用教程](https://www.wdbyte.com/2019/10/develop/idea-skill/)\n- [使用Apache Ant 进行Java web项目打包并部署至TOMCAT](https://www.wdbyte.com/2017/11/develop/tool-apache-ant/)\n- [Linux配置Tomcat的单机多实例](https://www.wdbyte.com/2018/08/develop/install-tomcat-many-instance/)\n- [Linux定时任务crontab的使用](https://www.wdbyte.com/2018/05/linux/linux-crontab/)\n- [Manjaro Linux 入门使用教程](https://www.wdbyte.com/2020/04/linux/linux-manjaro/)\n- [Ubuntu18 的超详细常用软件安装](https://www.wdbyte.com/2018/11/linux/start-ubuntu/)\n\n\n## 💬 消息中间件\n\n- [消息队列中间件（三）Kafka 入门指南](https://www.wdbyte.com/2018/12/io/mq-kafka-introduction/)\n- [消息队列中间件（二）使用 ActiveMQ](https://www.wdbyte.com/2018/12/io/mq-activemq/)\n- [消息队列中间件（一）介绍](https://www.wdbyte.com/2018/11/io/mq-introduction/)\n- [IO通信模型（三）多路复用IO](https://www.wdbyte.com/2018/10/io/io3-nio/)\n- [IO通信模型（二）同步非阻塞模式NIO（NonBlocking IO）](https://www.wdbyte.com/2018/10/io/io2-nio/)\n- [IO通信模型（一）同步阻塞模式BIO（Blocking IO）](https://www.wdbyte.com/2018/10/io/io1-bio/)\n\n\n## 🗺 贡献与建议\n\n反馈地址：[https://github.com/niumoo/JavaNotes/issues](https://github.com/niumoo/JavaNotes/issues)\n\n1. 内容难免存在笔误，一个错别字，一个语法错误，都是建议。\n2. 文章中的错误和不足，或者不完善的地方都可以进行补充或者修改。\n3. 我没有涉及到的知识点，也可以进行补充。\n\n\n## 赏个 Star\n\n[![Stargazers over time](https://starchart.cc/niumoo/JavaNotes.svg?background=%23FFFFFF\u0026axis=%23333333\u0026line=%23e76060)](https://starchart.cc/niumoo/JavaNotes)\n\n\n### 公众号\n\n可以关注「 **程序猿阿朗** 」公众号。即使查看更新的文章以及分享的干货。\n\n \u003cimg src=\"https://cdn.debug.group/git/webinfo/wp.png\" width=\"250px\" alt=\"等你很久\"\u003e\n\n### 联系我\n\n等不及了，还不添加我微信一起交个朋友。\n\n\u003cimg src=\"https://cdn.debug.group/git/webinfo/wx.png\" width=\"250px\" alt=\"交个朋友\"\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniumoo%2Fjavanotes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fniumoo%2Fjavanotes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniumoo%2Fjavanotes/lists"}