{"id":17979143,"url":"https://github.com/wupeixuan/note","last_synced_at":"2025-07-17T02:42:37.783Z","repository":{"id":105269528,"uuid":"231490085","full_name":"wupeixuan/Note","owner":"wupeixuan","description":"后端技术文章精选","archived":false,"fork":false,"pushed_at":"2021-03-24T03:06:29.000Z","size":6746,"stargazers_count":15,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-06T20:44:03.218Z","etag":null,"topics":["java","mysql","nginx","zookeeper"],"latest_commit_sha":null,"homepage":"https://www.tianheyu.top","language":null,"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/wupeixuan.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-01-03T01:41:08.000Z","updated_at":"2025-06-01T08:47:22.000Z","dependencies_parsed_at":"2023-05-22T04:30:15.289Z","dependency_job_id":null,"html_url":"https://github.com/wupeixuan/Note","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wupeixuan/Note","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wupeixuan%2FNote","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wupeixuan%2FNote/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wupeixuan%2FNote/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wupeixuan%2FNote/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wupeixuan","download_url":"https://codeload.github.com/wupeixuan/Note/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wupeixuan%2FNote/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265560974,"owners_count":23788286,"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":["java","mysql","nginx","zookeeper"],"created_at":"2024-10-29T17:36:36.418Z","updated_at":"2025-07-17T02:42:37.775Z","avatar_url":"https://github.com/wupeixuan.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"- [文章目录](#文章目录)\n    * [Java](#java)\n    * [ElasticSearch](#elasticsearch)    \n    * [Nginx](#nginx)\n    * [MySQL](#mysql)\n    * [Redis](#redis)\n    * [ZooKeeper](#zookeeper)\n    * [微服务](#微服务)\n    * [网络](#网络)\n    * [设计模式](#设计模式)\n    * [Spring MVC](#spring-mvc)\n    * [Spring Boot](#spring-boot)\n    * [运维](#运维)\n    * [Git](#git)\n    * [消息队列](#消息队列)\n    * [源码解析](#源码解析)\n    * [面经](#面经)\n    * [算法](#算法)\n    * [程序人生](#程序人生)\n    * [工具](#工具)\n\n欢迎进入我的个人博客：[武培轩的博客](https://www.tianheyu.top)\n\n**微信公众号**\n\n![微信公众号](https://img-blog.csdnimg.cn/20200110151256933.png)\n\n专注分享后端技术干货，包括 Java 基础、Java 并发、JVM、Nginx、Zookeeper、ElasticSearch、微服务、消息队列、源码解析、数据库、设计模式、面经等，助你编程之路少走弯路。\n\n**后端技术交流群**\n\n有一句话说得很好，一个人学习可以走得很快，但一群人学习可以走得更远。\n\n所以，如果你想和众多优秀的人一起学习，可以考虑加入技术交流群。扫描微信二维码，备注【加群】添加好友，我会迅速拉你进群。\n\n![微信二维码](https://img-blog.csdnimg.cn/20200607182712830.jpg)\n\n# 文章目录\n\n## Java\n\n[为什么阿里巴巴Java开发手册中强制要求超大整数禁止使用Long类型返回？](https://mp.weixin.qq.com/s/FfBSHwDLNlBw3ShsAX6Tgw)\n\n[Java 线程池中的线程复用是如何实现的？](https://mp.weixin.qq.com/s/uDiGnU7Ik9VNOGIfDZHNAw)\n\n[性能调优必备利器之 JMH](https://mp.weixin.qq.com/s/Uvbv0-Hx3aa7o0WnGTK0ig)\n\n[为什么阿里巴巴Java开发手册中不允许魔法值出现在代码中？](https://mp.weixin.qq.com/s/fg9NjY6Lzr6KKTbvyWddQg)\n\n[为什么阿里巴巴Java开发手册中强制要求接口返回值不允许使用枚举？](https://mp.weixin.qq.com/s/6_MO5jl0sgarQ5jBRal62g)\n\n[为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接？](https://mp.weixin.qq.com/s/dc7HW0SqEcJknMIqoQZnlg)\n\n[为什么阿里巴巴Java开发手册中强制要求整型包装类对象值用 equals 方法比较？](https://mp.weixin.qq.com/s/uP9Jy75OlwavPGwVabOl8A)\n\n[为什么阿里巴巴Java开发手册中强制要求不要在foreach循环里进行元素的remove和add操作？](https://mp.weixin.qq.com/s/q4S6dCIwtDbuQ4KxSBItqA)\n\n[给学妹的 Java 学习路线](https://mp.weixin.qq.com/s/5FY87UBkqXpYvk2BiXlJ3Q)\n\n[如何阅读源码？](https://mp.weixin.qq.com/s/Jrn8WzabaDX8hxoal3MzUw)\n\n[一男子给对象转账5000元，居然又退还了！](https://mp.weixin.qq.com/s/ppIJnBj66pnBzHE_Za81TA)\n\n[我就站在你面前，你却视而不见！](https://mp.weixin.qq.com/s/AIcwp6wWIs7MPyxXA7NagA)\n\n[编译器：人家就要乱来！](https://mp.weixin.qq.com/s/f0p3vqYRacSDF728oXJxQA)\n\n[2020 年 Java 程序员应该学习什么？](https://mp.weixin.qq.com/s/Oz_mm6RbSvQPjyDAvpQt4w)\n\n[最大的 String 字符长度是多少？](https://mp.weixin.qq.com/s/MLoN0SZc0s_H3GcGMfoYhA)\n\n[一文搞懂 ThreadLocal 原理](https://mp.weixin.qq.com/s/HU5PTysA6gndCpYcrb-KCg)\n\n[为什么不建议使用Date，而是使用Java8新的时间和日期API？](https://mp.weixin.qq.com/s/eMtrhOMuXpvs3s_o9yA99Q)\n\n[在 Java 中如何比较日期？](https://mp.weixin.qq.com/s/o2hB2EOfdXbcu8aLbRip4Q)\n\n[Java 8 Optional：优雅地避免 NPE](https://mp.weixin.qq.com/s/NaGekMgUMwXauQ-Zkx46Bg)\n\n[深入理解 Java 中的 final 关键字](https://mp.weixin.qq.com/s/bTEziv7CAbTXcdeKiJaeRg)\n\n[Java 中的 final、finally、finalize 有什么不同？](https://mp.weixin.qq.com/s/2i4LDFrVjESCsB1XsyW-Hw)\n\n[Java中Set集合是如何实现添加元素保证不重复的？​](https://mp.weixin.qq.com/s/87PVnhkWDQuW57ahnD28bg)\n\n[你真的了解 volatile 关键字吗？](https://mp.weixin.qq.com/s/35iBa26Y8XLlCsYQzVoHsg)\n\n[你编写的Java代码是咋跑起来的？](https://mp.weixin.qq.com/s/PyMu-fH6fpSdfjCU4Sq_Jw)\n\n[Java线程的生老病死](https://mp.weixin.qq.com/s/4EDzHrAh0UUtfr4xBNXBiA)\n\n[如何优雅地中止线程？](https://mp.weixin.qq.com/s/glkgYlArGqo16S8UKXS9Ag)\n\n[线程数，射多少更舒适？](https://mp.weixin.qq.com/s/zgFg6oPabcqoZ-X2_nX9eQ)\n\n[如何优雅地中止线程？](https://mp.weixin.qq.com/s/glkgYlArGqo16S8UKXS9Ag)\n\n[原来 CPU 为程序性能优化做了这么多](https://mp.weixin.qq.com/s/ZzdNlbhgjGk6iTXHVIZxsg)\n\n[Java异常处理只有Try-Catch吗？](https://mp.weixin.qq.com/s/zFkE-7jR6VK-b1C2rPJWWA)\n\n[如何编写可怕的Java代码？](https://mp.weixin.qq.com/s/MXSaSvkvTbOkDUCcQEmQaw)\n\n[请停止编写这么多的for循环！](https://mp.weixin.qq.com/s/7vn0ZSOkInK7oyPwh3SaQA)\n\n[JVM内存模型](https://mp.weixin.qq.com/s/aKDKX6qge7-pLxX754kHdw)\n\n[JVM GC算法](https://mp.weixin.qq.com/s/P40Vu0eY-xOkNRSn7Ue9ow)\n\n[JVM类加载过程与双亲委派模型](https://mp.weixin.qq.com/s/mUCmntvFK5CoWOTcXUUI5A)\n\n[Full GC 和 Minor GC，傻傻分不清楚](https://mp.weixin.qq.com/s/zlc2UKMoYlFrUcGVb3_8rw)\n\n[请停止编写这么多的for循环！](https://mp.weixin.qq.com/s/7vn0ZSOkInK7oyPwh3SaQA)\n\n## ElasticSearch\n\n[全文搜索引擎 Elasticsearch 入门：集群搭建](https://mp.weixin.qq.com/s/NrN2Vcj8Evpt8LCMPrUgPw)\n\n[手把手教你搭建 ELK 实时日志分析平台](https://mp.weixin.qq.com/s/jIXh0DIYZl_9cGP1RBNbuQ)\n\n[一篇文章带你搞定 ElasticSearch 术语](https://mp.weixin.qq.com/s/tsoBovXDcB02KxvWu2_SpQ)\n\n[搜索引擎之倒排索引浅析](https://mp.weixin.qq.com/s/Kp-KDUSFosEJOIhekw4wHw)\n\n[ElasticSearch 分词器，了解一下](https://mp.weixin.qq.com/s/5mXFIvcJvP3RiadkpQtrpA)\n\n[ElasticSearch 文档的增删改查都不会？](https://mp.weixin.qq.com/s/q-LUgsZS-fz8DHvznTIiJA)\n\n[看完这篇还不会 Elasticsearch 搜索,那我就哭了！](https://mp.weixin.qq.com/s/SHHwh-1iPhfOv7qrqWVRJw)\n\n[一文搞懂 Elasticsearch 之 Mapping](https://mp.weixin.qq.com/s/y7hm4-vzGd2X_ok3sp_6GQ)\n\n[Elasticsearch 之 Filter 与 Query 有啥不同？](https://mp.weixin.qq.com/s/5_ejnaU6aucguOXtzM-d9A)\n\n## Nginx\n\n[Nginx 了解一下？](https://mp.weixin.qq.com/s/FX1w12GFtceqpd48BOC6bA)\n\n[Nginx 热部署和日志切割，你学会了吗？](https://mp.weixin.qq.com/s/KNEEMy8DGbpOAf-wXxumgA)\n\n[使用 Nginx 搭建静态资源 web 服务器](https://mp.weixin.qq.com/s/8nX5fwoyjG06Sy7kLf9-sg)\n\n[Nginx 的请求处理流程，你了解吗？](https://mp.weixin.qq.com/s/AvYXDMy3TqkXyDXvWXeOWw)\n\n[Nginx 的进程结构，你明白吗？](https://mp.weixin.qq.com/s/ZwpQPcJECDOTdVpidLvLbw)\n\n[Nginx 进程管理，你需要了解哪些？](https://mp.weixin.qq.com/s/CgWlHvBoOrXXqkzifrgKkQ)\n\n[探究 Nginx 中 reload 流程的真相](https://mp.weixin.qq.com/s/zscL0h-VTVUPAX55BsyFcA)\n\n[Nginx热升级流程，看这篇就够了](https://mp.weixin.qq.com/s/_fTRj9bSASIrv4O4Swtv_w)\n\n[如何优雅地关闭worker进程？](https://mp.weixin.qq.com/s/Zk9LlXsyqKmB_A9GPQ5rGQ)\n\n[浅析 Nginx 网络事件](https://mp.weixin.qq.com/s/sNrZPbGxN-YLCOz0RocqxA)\n\n[Nginx 究竟如何处理事件？](https://mp.weixin.qq.com/s/2o_lzhyIvuYm1l9wJSCWPA)\n\n[一文搞懂 Elasticsearch 之 Mapping](https://mp.weixin.qq.com/s/y7hm4-vzGd2X_ok3sp_6GQ)\n\n[Elasticsearch 之聚合分析入门](https://mp.weixin.qq.com/s/0h4qzSvhkKrLgLQh59dk7Q)\n\n## MySQL\n\n[数据库事务的四大特性以及隔离级别](https://mp.weixin.qq.com/s/Y-qYIEShHCEKYQHZnMLSeQ)\n\n[一条SQL查询语句是如何执行的？](https://mp.weixin.qq.com/s/jWw07LxQooHdv_4DvPLoyQ)\n\n[MySQL 日志系统之 redo log 和 binlog](https://mp.weixin.qq.com/s/g-QHcctt_fOmJmQQI3ISOQ)\n\n[如何定位 MySQL 慢查询？](https://mp.weixin.qq.com/s/_SWewX-8nFam20Wcg6No1Q)\n\n## Redis\n\n[Redis 系列（一）五种基本数据结构](https://mp.weixin.qq.com/s/OzGqfjot7iC6UARvAkC1wQ)\n\n[Redis 系列（二）跳跃表](https://mp.weixin.qq.com/s/CCJ4c-1y4nqH2-GTQ1J1oQ)\n\n[Redis 系列（三）分布式锁深入探究](https://mp.weixin.qq.com/s/qIXOYNx776_rGwoG8vblHg)\n\n[Redis 系列（四）统计问题看这篇就够了](https://mp.weixin.qq.com/s/6S8zi8jdQDqgcgUF6XWRDw)\n\n[Redis 系列（五）亿级数据过滤和布隆过滤器](https://mp.weixin.qq.com/s/wNtpO7TtxnhoiDHuv1grXg)\n\n[Redis 系列（六）如何实现查找附近的人](https://mp.weixin.qq.com/s/jBZU4cBYvLy-HJgH-y2WaA)\n\n[Redis 系列（七）一文了解持久化](https://mp.weixin.qq.com/s/tHotvNMssq3_e6ARmFFUkA)\n\n[Redis 系列（八）发布/订阅与 Stream](https://mp.weixin.qq.com/s/Vo6FPS2ZxKr8n8hlzpcjdg)\n\n[Redis 系列（九）史上最强集群实践教程](https://mp.weixin.qq.com/s/TlnSM3MSvkSrx25xA6RqHQ)\n\n[Redis 性能优化的 13 条军规！收好了](https://mp.weixin.qq.com/s/GjkZ_7EMeY_VUhfrRt7U0A)\n\n[Redis持久化](https://mp.weixin.qq.com/s/VTJHY2-VPy6OeaQmkwdiAw)\n\n## ZooKeeper\n\n[ZooKeeper 入门看这篇就够了](https://mp.weixin.qq.com/s/GZHOR4s-n0tjTSoYpgTD6A)\n\n[一篇文章带你了解 ZooKeeper 架构](https://mp.weixin.qq.com/s/8MzJbqoeNNYrwbopRKDi9Q)\n\n## 微服务\n\n[什么是微服务？](https://mp.weixin.qq.com/s/tKhdhEsJ5dHZIfxow9Wgew)\n\n[从单体应用走向服务化](https://mp.weixin.qq.com/s/0wgbld5T9WtHISmVWDFoYA)\n\n[初探微服务架构](https://mp.weixin.qq.com/s/prtD_7cZFMgV874p9W6SRQ)\n\n## 网络\n\n[TCP三次握手和四次挥手](https://mp.weixin.qq.com/s/aZkbHrImIOpY7VG6vcD9cg)\n\n[当你在浏览器地址栏输入一个URL后回车，将会发生的事情？](https://mp.weixin.qq.com/s/Cm049VWAPkkaGW6iz40wTg)\n\n[Session 和 Cookie 区别](https://mp.weixin.qq.com/s/o_JEYz33YRnT8crJgTt3vQ)\n\n[TCP和UDP的区别](https://mp.weixin.qq.com/s/0G6F6q_BpouRjZ2mf6XGww)\n\n[HTTP0.9 HTTP1.0 HTTP 1.1 HTTP 2.0区别](https://mp.weixin.qq.com/s/S929mozh1b3Mz1rS_VKDVg)\n\n## 设计模式\n\n[设计模式-单例模式](https://mp.weixin.qq.com/s/jjZwBMSeIYk_sx8Hy_RrJg)\n\n[设计模式-代理模式](https://mp.weixin.qq.com/s/hTKPg14oJLj9y4RlDc6n7Q)\n\n[设计模式-观察者模式](https://mp.weixin.qq.com/s/R9bnY9WtZEMGHZxP6ImWaQ)\n\n[设计模式-简单工厂模式](https://mp.weixin.qq.com/s/wFcUa9U5R1cc0syR8LVF8w)\n\n[设计模式-工厂方法模式](https://mp.weixin.qq.com/s/qzwfAA8t5BwP6xf5IyDthQ)\n\n[设计模式-抽象工厂模式](https://mp.weixin.qq.com/s/PpiwCsgw2mt3OWd0nsjxhg)\n\n## Spring MVC\n\n[深入源码分析 Spring MVC 执行过程](https://mp.weixin.qq.com/s/jaWDPpiCuSPdhLVLVSyYcw)\n\n## Spring Boot\n\n[Spring Boot 集成 XXL-JOB 任务调度平台](https://mp.weixin.qq.com/s/H6Wd6B7qYexcRMigWsf5zg)\n\n[Spring Boot 优雅地发送邮件](https://mp.weixin.qq.com/s/BpnnGgUm-3cmYv5qPKMEvQ)\n\n[Spring Boot 集成 Redis 实现数据缓存](https://mp.weixin.qq.com/s/mk98foCaW7tF076JEOZDwQ)\n\n[Spring Boot 集成阿里云 OSS 进行文件存储](https://mp.weixin.qq.com/s/I1fG-qjNbeRuYNJ9NmTCIQ)\n\n[Spring Boot 集成 Elasticsearch 实战](https://mp.weixin.qq.com/s/9SqeCzWH_-NOEGmEwKpZ7g)\n\n[Spring Boot 集成 WebSocket 实现服务端推送消息到客户端](https://mp.weixin.qq.com/s/w7zriKMr54KWsxTzOBAg4Q)\n\n[如何优雅地停止 Spring Boot 应用？](https://mp.weixin.qq.com/s/o1NM1WnB6Q3fbvsfrPO1aw)\n\n[如何定制 Spring Boot 的 Banner？](https://mp.weixin.qq.com/s/ltMTsrl6fGNLSCq9UDYQxA)\n\n[Spring Boot 定时任务 @Scheduled](https://mp.weixin.qq.com/s/ILMQioj2ihzSeArli3M04w)\n\n[Spring Boot 集成 Swagger 构建接口文档](https://mp.weixin.qq.com/s/wXUEuF80ph9Dwgyy2wS9DA)\n\n[Spring Boot 集成 Flyway 实现数据库版本控制](https://mp.weixin.qq.com/s/wjP_2LrdAbWWiwLDJKcCtA)\n\n## 运维\n\n[这些排查内存问题的命令，你用过多少？](https://mp.weixin.qq.com/s/1mdFnmHXLK3j5x75ecdx1Q)\n\n[每个开发人员都应该知道的11个Linux命令](https://mp.weixin.qq.com/s/ZPz_rvXPgn3NBGXWVViouQ)\n\n[Ansible自动化运维-Ansible架构及特点](https://mp.weixin.qq.com/s/DxsEqXyzDRK9fHDAmlT9iw)\n\n[Ansible自动化运维-Ansible安装与配置](https://mp.weixin.qq.com/s/9w2gsRLD0Bl9eKNXT9_Kbw)\n\n[Ansible自动化运维-Ansible组件介绍](https://mp.weixin.qq.com/s/qlToA4_1k5XepUHX5fXljA)\n\n## Git\n\n[一个故事带你了解版本控制](https://mp.weixin.qq.com/s/sd5aMaBAP2toGKWfdKo7_A)\n\n[请停止编写糟糕的提交消息！](https://mp.weixin.qq.com/s/VItk9iKdXitjSYkVCTxq2g)\n\n[看完这篇还不会用Git，那我就哭了！](https://mp.weixin.qq.com/s/JOCfkKPQE3UvwhP7h9_UmA)\n\n## 消息队列\n\n[如何选择消息队列？](https://mp.weixin.qq.com/s/08dgGSbEK2rAzPVrjklyrQ)\n\n## 源码解析\n\n[Apollo源码解析-搭建调试环境](https://mp.weixin.qq.com/s/jdJK8gRFMQ-cMlil8lvoCw)\n\n[HashMap源码解析](https://mp.weixin.qq.com/s/Ixzpclg70AiR21LX4rlZng)\n\n## 面经\n\n[京东面经汇总](https://mp.weixin.qq.com/s/HCCX3V6R2f7q3cdGa3qXFQ)\n\n[小米面经汇总](https://mp.weixin.qq.com/s/HIqqUdHr7yS17AsBTW9q1w)\n\n[答完这10道题，我哭了](https://mp.weixin.qq.com/s/4XBelNjgwAynsuJYUmjlMw)\n\n## 算法\n\n[什么是数据结构？](https://mp.weixin.qq.com/s/STLpfs6dOVmeWaOW6mIO8A)\n\n[什么是链表？](https://mp.weixin.qq.com/s/ZuCcYvUtrcvJr19tDzrNnw)\n\n[什么是数组？](https://mp.weixin.qq.com/s/AeiLlcBMRGf2HYxy7AcBrg)\n\n[什么是栈？](https://mp.weixin.qq.com/s/NPGlJ1TjHX6ZH0KNsULYbA)\n\n[什么是队列？](https://mp.weixin.qq.com/s/mvROTx6iHmJofXZj9Qvl4A)\n\n[什么是哈希表？](https://mp.weixin.qq.com/s/aJPcKst7bgDyQo2oBXe_cw)\n\n[剑指Offer-重建二叉树](https://mp.weixin.qq.com/s/3VqOJ0SrivlgAMPWiKEJqg)\n\n[剑指Offer-把二叉树打印成多行](https://mp.weixin.qq.com/s/rJQrF6-0B6LdSoNgd4E72g)\n\n[剑指Offer-把数组排成最小的数](https://mp.weixin.qq.com/s/sYtc_04LWLSHHcQJWwujBg)\n\n[剑指Offer-求1+2+3+...+n](https://mp.weixin.qq.com/s/WYIlga6jcHTeC9nMzq1XiA)\n\n[剑指Offer-用两个栈实现队列](https://mp.weixin.qq.com/s/ajFZiKVc6E6NXKwDfRKcSA)\n\n## 程序人生\n\n[程序员的圈子，就差你了！！！](https://mp.weixin.qq.com/s/eaCY8z9EwnT9S1q4Xf3fFg)\n\n[后端技术交流社群](https://mp.weixin.qq.com/s/FNJ406BKfa1zh7VU42uXIg)\n\n[给初学者的技巧，只有3条，不看后悔](https://mp.weixin.qq.com/s/IQ6l2ntkInHeQRY_DSE1YA)\n\n[9 个习惯助你在新的一年更有精力](https://mp.weixin.qq.com/s/oz2cED1CexLrPPctgHwZWA)\n\n[如何优雅地在Stack Overflow提问？](https://mp.weixin.qq.com/s/INPm6eS4OhtAH8n5vI8psg)\n\n[代码重构有什么意义？为什么重构有用？](https://mp.weixin.qq.com/s/1IyWSehaHbUb5Cj0llOeJw)\n\n## 工具\n\n[IDEA到期了？不用怕，最新的永久激活送给你](https://mp.weixin.qq.com/s/3Ksc7rnVo4n6bu2k2M1bwQ)\n\n[听说用 Lombok 可以早点下班？](https://mp.weixin.qq.com/s/R720b6dlYntrKSsswos6eg)\n\n[后缀补全用得好，提前下班没烦恼](https://mp.weixin.qq.com/s/qDtc46iNq_s0VpQbLyBZXw)\n\n[不可不知的 7 个 JDK 命令](https://mp.weixin.qq.com/s/mdohLcNkzl1EpoETkEhM_w)\n\n[5 个 IDEA 必备插件，让效率成为习惯](https://mp.weixin.qq.com/s/nPa-nx4DYtYotJI29I_ZwA)\n\n[真香，Typora 原生集成 PicGo 图床工具！](https://mp.weixin.qq.com/s/9-qg3mBxffgAGP2usAYhQA)\n\n[不会真的有人 GitHub 还可以这样吧！](https://mp.weixin.qq.com/s/i6QKMGyo6anphsCjN7e8Qw)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwupeixuan%2Fnote","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwupeixuan%2Fnote","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwupeixuan%2Fnote/lists"}