原创文章每周更新。技术文字在写的过程中难免会有纰漏,或者细节不够完善。大家发现问题,可以及时给我 PR 反馈,也可以去 公众号 给我留言,或者加我 微信 直接说明,我都会及时更正,哪怕是一个错别字。加油!奥利给!
Java Notes
目录中没有链接的部分,后续更新,感谢你的 STAR ,有问题或者建议可以一起完善。
文章内容也都可以访问网站 https://www.wdbyte.com 进行阅读。
⏳ Java 开发
- JUnit5 单元测试教程
- 使用 StringUtils.split 的坑
- 必应壁纸,我的第一个 400 Star 开源项目
- Java 中的对象池化
- 5种限流算法,7种限流方式,挡住突发流量?
- Java 中拼接 String 的 N 种方式
- 字符图案,我用字符画个冰墩墩
- Java 中 RMI 的使用
- 如何使用 Github Actions 自动抓取每日必应壁纸?
- 三种骚操作绕过迭代器遍历时的数据修改异常
- Guava - 拯救垃圾代码,写出优雅高效,效率提升N倍
- 「1024」专属序猿的快乐,惊奇迷惑代码大赏
- 一篇有趣的负载均衡算法实现
- 撸了个多线程断点续传下载器,我从中学习到了这些知识
- Java 开发的编程噩梦,这些坑你没踩过算我输
- 如何使用 Lombok 进行优雅的编码
- 使用MyBatis Generator自动生成Model、Dao、Mapper相关代码
🌿 Java 基础教程
- JDK、JRE、JVM 的区别
- Java 数据类型
- Java 流程控制
- Java String 字符串
- Java Array 数组
- Java 多维数组
- Java StringBuilder
- Java 继承
- Java 接口
- Java 抽象类
- Java 多态
- Java Scanner
- Java 日期时间 Date
- Java 异常处理
- Java 枚举
- Java 集合框架
Java 进阶
🌿 SpringBoot 2.x 教程
使用 Spring Boot 可以快速的创建一个基于Spring 的、独立的、生产级的应用程序,并且可以直接运行。Spring Boot 采用习惯性配置,整合大量 Spring 组建和第三方库,让你只需要少量的修改就可以轻松上手。
- Spring Boot 系列(一)Spring Boot 入门篇
- Spring Boot 系列(二)Spring Boot 配置文件
- Spring Boot 系列(三)Spring Boot 自动配置
- Spring Boot 系列(四)Spring Boot 日志框架
- Spring Boot 系列(五)web 开发之静态资源和模版引擎
- Spring Boot 系列(六)web 开发之拦截器和三大组件
- Spring Boot 系列(七)web 开发之异常错误处理机制剖析
- Spring Boot 系列(八)动态 Banner 与图片转字符图案的手动实现
- Spring Boot 系列(九)使用 Spring JDBC 和 Druid 数据源监控
- Spring Boot 系列(十)使用 Spring data jpa 访问数据库
- Spring Boot 系列(十一)使用 Mybatis(自动生成插件) 访问数据库
- Spring Boot 系列(十二)使用 Mybatis 集成 pagehelper 分页插件和 mapper 插件
- Spring Boot 系列(十三)使用邮件服务
- Spring Boot 系列(十四)迅速启用 HTTPS 加密你的网站
- Spring Boot 系列(十五)如何编写自己的 Springboot starter
- Spring Boot 系列(十六)你真的了解 Swagger 文档吗?
- Spring Boot 系列(十七)迅速使用 Spring Boot Admin 监控你的 Spring Boot 程序
- Spring Boot 系列(十八)最详细的 Spring Boot 多模块开发与排坑指南
- Spring Boot 系列(十九)SpringBoot 的多数据源配置
以上 Spring Boot 文章源码:Github.com/niumoo/springboot
☕ Java 新特性
Java 版本任你发,我用 Java 8 。但是多学点这种装x技巧总没错,何况有些新特性是真香。
以上 Java 新功能文章源码: Github.com/niumoo/jdk-feature
🔬 JDK 源码分析
面试必备的 JDK 源码分析。探寻 JDK 大佬的设计思路。没有链接部分为后续更新内容,持续更新中。
- 集合 -「源码分析」CopyOnWriteArrayList 中的隐藏的知识,你Get了吗?
- 集合 -「源码分析」ArrayList和LinkedList如何实现的?我看你还有机会!
- 集合 -「源码分析」还不懂 ConcurrentHashMap ?这份源码分析了解一下
- 集合 -「源码分析」最通俗易懂的 HashMap 源码分析解读
- 集合 -「源码分析」TreeSet
- 集合 -「源码分析」LinkedHashSet
- 基础类 - Object
- 基础类 - String
- 基础类 - StringBuffer & StringBuilder
💻 Java 并发编程
- 线程基础之通知、等待、休眠、让行、中断
- ThreadLocal
- 内存可见性、伪共享
- synchronized
- volatile
- 原子操作
- 排它锁、悲观锁、乐观锁、公平锁、非公平锁、独占锁、共享锁、重入锁、自旋锁
- ThreadLocalRandom
- LongAdder
- CopyOnWriteArrayList
- 锁的原理:LockSupport、ReentrantLock、ReentrantReadWriteLock
- 并发队列(Queue)
- 线程池 ThreadPoolExecutor
- 线程池 ScheduledThreadPoolExecutor
- 同步器 CountDownLatch、CyclicBarrier、Semaphore
- Java 并发编程注意事项
🕹 Java 虚拟机
- Java 内存模型
- 垃圾回收算法
- 垃圾收集器
- JVM 性能监控与故障处理
- JVM 性能调优
- Java 类文件结构
- JVM 类加载过程
- 前端编译 & 后端编译 & 优化
- 锁的自动优化升级策略
🔍 Java 性能分析
- Java 中的5个代码性能提升技巧,最高提升9.5倍
- 使用 JMX 监控和管理 Java 程序
- Java 中的监控与管理原理概述
- JMH-大厂是如何使用JMH进行Java代码性能测试的?必须掌握!
- Arthas - Java 线上问题定位处理的终极利器
- 超好用的自带火焰图的 Java 性能分析工具 Async-profiler 了解一下
🧱 数据结构
- 数组
- 栈
- 队列
- 链表
- 树
- 哈希表
- 堆
- 图
🧰 工具技巧
“工欲善其事,必先利其器” 出处:孔子《论语》
一款好用的工具,不仅可以装X,更可以让你事半功倍,准时下班。
- 使用 JCommander 解析命令行参数
- Protobuf 教程
- Apache HttpClient 5 使用详细教程
- Jackson 解析 JSON 详细教程
- Java 反编译工具的使用与对比分析
- 可以Postman,也可以cURL.进来领略下cURL的独门绝技
- 抛弃Eclipse,投入IDEA 的独孤求败江湖
- 使用Apache Ant 进行Java web项目打包并部署至TOMCAT
- Linux配置Tomcat的单机多实例
- Linux定时任务crontab的使用
- 原来热加载如此简单,手动写一个 Java 热加载吧
- Manjaro Linux 入门使用教程
- Ubuntu18 的超详细常用软件安装
💬 消息中间件
- 消息队列中间件(三)Kafka 入门指南
- 消息队列中间件(二)使用 ActiveMQ
- 消息队列中间件(一)介绍
- IO通信模型(三)多路复用IO
- IO通信模型(二)同步非阻塞模式NIO(NonBlocking IO)
- IO通信模型(一)同步阻塞模式BIO(Blocking IO)
🗺 贡献与建议
- 内容难免存在笔误,一个错别字,一个语法错误,都是贡献。
- 文章中的错误和不足,或者不完善的地方都可以进行补充或者修改。
- 我没有涉及到的知识点,也可以进行补充。
🏃 我的痕迹
-
GitHub:https://github.com/niumoo
联系我
可以添加我的微信 wn8398 一起交流。
公众号
有帮助可以点「赞」在看或
如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注「 未读代码 」公众号。