【复盘】2024年终总结

工作

重构风控系统

今年上半年其实就是整体重构系统,经历了多次加班的,其中的辛酸苦辣只有自己知道,现在来看的话,其实对自己还有一定的成长,从这件事情上也明白 绩效能不能拿到A,在分配的任务的时候就决定了。重构系统其实就是相当于在高速跑的汽车进行加油,如何保证无缝切换,保证应用、实例、数据等各个不出问题。以及通过各种方式进行避免各种可能出现的不可控情况。

  • 做之前想清楚,列好对应的todo list,截止时间、分清责任人
  • 多去想想可能的情况,以及可能出现情况的时候如何解决。
  • 上下游系统的API对接兼容,以及职场中各种扯皮的事情等。

我们大概是这样做的,一部分人进行新需求的对接,另外一部分人进行系统重构,分阶段开发,一部分完成先上线。灰度->验收-> 分阶段切流等。用了半年左右的时间完成系统的迁移。

监控系统完善

在系统迁移完毕之后,就开始完善系统的监控报警体系,基本都是业界的参考哪些方式。当系统出现问题时,可以更直观的看到哪里出现问题。

重复的事情不要过三,对于重复的事情 我们要尽量自动化,不仅仅可以提升效率,也可以有更多时间做其他时间。

学习

回顾今天的学习主题,其实主要就是两部分 一个是八股文 MySQL 以及框架中间件源码的阅读。构建了自己对软件设计的知识体系以及大量阅读相关优秀框架、中间件源码,完善自己的技能树。感兴趣的朋友可以star下 。

技能树

https://github.com/qxlx/skill-tree


整体来说其实就是JUC->Spring->MVC->Tomcat-> mybatis -> cloud -> kafka -> netty 看的源码系列。并且附加 设计模式之美

  • 1-4月 juc、jvm、redis、mysql 复盘学习
  • 5-6月 spring\mvc\tomcat源码阅读
  • 7月 boot\nacos 源码阅读
  • 8-9月 netty 源码阅读 (孙帅netty)
  • 10月 kafka 源码阅读
  • 11-12月 spring 源码阅读(孙帅spring),IOC+AOP+事务

专栏:设计模式之美 (翻来看去 今年看了两遍)、乔新亮的CTO成长复盘、代码精进之路、代码止丑、许式伟的架构(部分)、软件设计之美、职场求生攻略、Spring编程常见错误50例(部分)、王争-(程序员职场生存指南、Java编程之美)专栏、Netty 核心原理剖析与 RPC 实践、深入拆解Tomcat Jetty(部分)、从 0 开始学微服务

以下梳理下自己这一年的一些思考

1.初级程序员在维护代码,高级程序员在设计代码、架构师在重构代码

2.技术方案设计是立足于业务需求的基础上进行设计的

3.优秀的代码后背的设计思想更重要

4.代码之下,不止技术,业务、管理等软实力也重要

5.随时具备离开的能力

25计划

  • 1-2月 Myabtis源码,sql-analysis 源码阅读
  • 3-4月 JUC写一个小册子,从理论到源码到实践
  • 5月 结婚-暂停
  • 6-8 月 RPC、Dubbo源码
  • 9-10 RocketMQ源码
  • 11-12 SpringAlibaba nacos、sentinel、openfeign 、gateway系列源码

其他

  • 支付业务课程系列学习
  • 王争-代码能力提升训练营、系统设计与架构 训练营、重学计算机专业 训练营
  • 专栏
    • 左耳听风、郭东白的架构课、周志明的架构课、李智慧 高并发架构实战课 、商业思维案例笔记、从 0 开始学大数据、技术与商业案例解读
  • 书籍
    • 代码大全、代码整洁之道、架构整洁之道、重构、编写可读代码的艺术、程序员职业素养、代码的未来
    • 课外书籍: 明朝那些事
  • 25年结婚后,花一周时间进行旅游。

2024文章整理

java基础

【Java基础】聊聊你不知道反射的那些事

【Java基础】聊聊你不知道的注解那些事

【Java基础】动态代理与代理模式哪些事儿

MySQL

【数据库】聊聊explain如何优化sql以及索引最佳实践

【数据库】聊聊InnoDB存储引擎结构

【数据库】聊聊MVCC机制与BufferPool缓存机制

【数据库】聊聊MySQL事务隔离级别与锁机制

【数据库】聊聊常见的索引优化-上

【数据库】聊聊常见的索引优化-下

【MySQL】聊聊自增id用完怎么办?

【MySQL】聊聊全表查询会不会把数据库内存打爆

【数据库】聊聊普通索引和唯一索引怎么选

【MySQL】如何判断一个数据库是否出问题

【MySQL】聊聊你不知道的前缀索引原理以及使用场景

【MySQL】聊聊脏页flush的原理和控制策略

【MySQL】聊聊count的相关操作

【MySQL】聊聊order by 是如何排序的

【MySQL】聊聊MySQL常见的SQL语句阻塞场景

【MySQL】聊聊唯一索引是如何加锁的

【MySQL】一般大厂数据库规约

【MySQL】聊聊数据库是如何保证数据不丢的

并发

【Java并发】聊聊Future如何提升商品查询速度

【Java并发】聊聊活锁

【Java并发】聊聊concurrentHashMap扩容核心流程

【Java并发】聊聊concurrentHashMap的put核心流程

【Java并发】深入浅出 synchronized关键词原理-下

【Java并发】深入浅出 synchronized关键词原理-上

【并发设计模式】聊聊生产者-消费者模式

【并发设计模式】聊聊Thread-Per-Message与Worker-Thread模式

【Java并发】聊聊Disruptor背后高性能的原理

JVM

【JVM】聊聊JVM生产环境常见的OOM问题

【JVM】聊聊常见的JVM排查工具

【JVM】聊聊JVM参数以及调优

【JVM】聊聊垃圾回收之三色标记算法

【Redis】聊聊Redis常见数据类型底层结构

【设计模式】聊聊观察者设计模式原理及应用

源码系列

【tomcat】tomcat系统架构以及核心启动流程

【tcomat】聊聊tomcat是如何打破双亲委派模型进行类加载的

【tomcat】Tomcat如何扩展Java线程池原理

【SpringBoot】SpringBoot核心启动流程源码解析

【SpringBoot】SpringBoot自动装配原理

【SpringBoot】SpringBoot内置Servlet容器源码分析-Tomcat

【Nacos】Nacos服务注册与发现 心跳检测机制源码解析

netty

【Netty】netty启动流程源码解析

【Netty】netty接收、读、写整体过程源码解析

【Netty】ChannelPipeline以及事件执行流程源码解析

【Netty】Netty时间轮实践与源码解析

【Netty】FastThreadLocal比ThreadLocal快之源码解析

【Netty】netty中都是用了哪些设计模式

Kafka 源码阅读

【消息队列】聊聊你不知道的Kafka消费者组重平衡详细流程

【Kafka】聊聊如何做Kafka集群部署方案

【Kafka】Kafka源码解析之producer过程解读

【Kafka】Kafka Producer的缓冲池机制原理

【Kafka】Kafka源码解析之Consumer过程解读

Spring源码系列

【Spring编程常见错误50例】02.原型bean被固定

【Spring编程常见错误50例】03.依赖注入常见错误-上

【Spring编程常见错误50例】03.依赖注入常见错误-下

【方案设计】基于AOP+ThreadLocal 记录耗时接口调用

【Spring编程常见错误50例】04. Spring Bean 生命周期常见错误-上

【Spring】聊聊@EventListener注解原理

【定时任务】定时任务技术实现原理和选型分析

【SpringAOP】深入浅出SpringAOP从原理到源码

【Spring事务】深入浅出Spring事务从原理到源码

相关推荐
水宝的滚动歌词4 小时前
设计模式之建造者模式
java·设计模式·建造者模式
孤蓬&听雨4 小时前
Java SpringBoot使用Apache POI导入导出Excel文件
java·spring boot·apache·excel导出·excel导入
紫琪软件工作室5 小时前
自定义有序Map
java
刘婉晴5 小时前
【蓝桥杯研究生组】第14届Java试题答案整理
java·蓝桥杯
Upuping6 小时前
「全网最细 + 实战源码案例」设计模式——外观模式
java·后端·设计模式
等一场春雨6 小时前
Java 21 使用新的日期和时间 API (java.time) 计算当前日期是某活动起始时间的第几天
java·开发语言
南宫生7 小时前
力扣-数据结构-12【算法学习day.83】
java·数据结构·学习·算法·leetcode
KeyPan7 小时前
【数据结构与算法:五、树和二叉树】
java·开发语言·数据结构·人工智能·算法·机器学习·计算机视觉
工业甲酰苯胺7 小时前
Java Web学生自习管理系统
java·开发语言·前端
晚上睡不着!7 小时前
Java程序命令行调用Python矩阵算法
java·开发语言·python·numpy