程序员的迷茫
我也在行走在开发这条路上,谈不上指导,同样也是在瞎乱折腾同样每天在思考自己要去哪儿的“一尘世间迷途老生”。在公司大部分基础框架都有人帮你封装好了,你的技术能力虽然广泛,但是没有一项是能拿得出手的。所以,我准备以一个大纲来表示我往后将要深入的技术,不再只停留在皮毛。
这里会列出我今后学习的大纲,没有链接的是还没有写,只写我有深入理解的才会有到对应博文的链接,可能是别人的文章,也有可能是原创,有好的博文会链接进来,持续更新,欢迎各路大神指正和提供优质博文。
面试支持
文章中有包含大部分面试会问到的技术和原理 ,多年的面试经验总结,大神勿喷。
支持 CSDN
最近因为 csdn 的广告原因,发现有好多人都离开了 csdn ,转移到别的博客平台,最近的一次排名规则调整,更是严重,幸好 csdn 及时把排名规则调回来了。
因为个人觉得 csdn 的书写体验还是不错的,并且支持 markdown 的扩展语法,个人想支持 csdn ,这是我的一个去 csdn 广告的 chrome 插件https://download.csdn.net/download/sanri1993/11612062,如果你没有积分,可以直接加我微信,我发给你 sanri1993-
,也可以进我技术交流群,QQ 群:645576465,微信群:下面微信二维码,失效了加我微信我把你拉进去。
注:微信群会限制人数,作者喜欢活跃的小群,并且当人数达到一定数量后会分出不同的等级群,因为如果老是有小白在里面发初始问题的话,大神会把群屏蔽掉,尽量避免僵尸群友,欢迎为某一个问题加入群,解决后退群
最新下载地址:下载 csdn 去广告包
作者微信 :
群微信:
好的博客推荐
这家伙的 spring 讲得不错,应该是研究得比较深了(卖钱了,现在讲的都浅了,不推荐)
阮一峰的网络日志,这家伙的前端算是讲得很透彻的 不太清楚后端和运维,他也有在写
算法相关网址推荐
算法实践和原理解释
以动图的方式展示算法
算法刷题 LeetCode
个人产品
SpringBoot 快速开发的定制补充(组件一)
Excel 导入导出工具,基于 poi
我的一个小工具,主要功能是代码生成,还有一些其它小功能
学习大纲(基础)
-
英语语法
英语语法重新学习系列 -
Java 基础和进阶
-
Java8 新特性
Lambda 表达式快速理解
Streams 集合操作
Date/Time API -
java8 新特性踩坑记录
Collectors.toMap 空指针异常 -
JUC 并发工具
CountDownLatch
,CyclicBarrier
,Semaphore
同步工具类 CountDownLatch 和 CyclicBarrier 入门使用
JUC 技术研究 github -
Atomic 原子类及其原理
AQS 讲得比较完善的文章,后面我会写一篇文章来表达自己的理解
AQS 的胡言乱语修正版
面试线程的几种状态及转化(6 个状态) 一般书上只会说 5 个状态 -
synchronized
,Lock
,分布式锁和死锁及解决方案
wait notify notifyall 讲得最明白的一个
我对 wait notify await signal 的理解
join 方法的理解与 junit 多线程测试
junit 测试对多线程不太友好的解决办法 -
HashMap
和ConcurrentHashMap
原理和源码分析 -
HashSet
的去重原理及源码分析 -
线程池
ThreadPoolExecutor
和阻塞队列BlockingQueue
线程池中的阻塞队列选择(推荐)
线程池面试原创
Jvm 系列文章 -
常用设计模式
-
在框架中可以看到的设计模式
spring aop 解析 涉及的设计模式有[动态代理,责任链,适配器模式]
spring Bean 工厂演变 涉及的设计模式有 [工厂模式,模板方法模式] -
自己使用的设计模式
随手写写设计模式 -
设计模式结构图
适配器模式
-
-
-
构建及版本控制
- Maven
Maven 的基本使用完整版 - Git
Git 的基本使用
Git 实用命令记录
- Maven
-
算法及实践
对于算法来说,除初学外,个人不建议再去把所有算法代码再去重新写一篇,对于调试的时间来说,更加适合去学习下算法的思想,时间和空间复杂度,以及适用场景。对于工作和面试的场景来说,字节跳动可能对算法要求较高,可以去刷算法题,中小公司最多弄下冒泡排序,工作中较少可以用到算法基本可以在网上抄得到
面试-zookeeper 选举算法中讲得最清晰的
工作-身份证的生成与验证 -
数据库
- 事务和 Spring 事务传播机制和隔离级别
Spring 事务传播机制 - Mysql 锁,乐观锁、悲观锁| 读锁、写锁|表锁、行锁与事务
事务与锁 - Sql 语句优化
SQL 语句优化
- 事务和 Spring 事务传播机制和隔离级别
-
协议相关
协议简介- netty
- http 和 https
CA 证书讲得最清楚的一篇文章
-
框架和中间件
-
Spring 家族
- BeanFactory 和生命周期
bean 的生命周期,瞎说版
BeanPostProcessor 和 BeanFactoryPostProcessor
自己实现 aop 和 spring aop
spring 注入对象和创建对象过程分析 - Spring MVC
全局异常处理最佳实践
全局处理输入输出 - SpringBoot
spring-data-redis-cache - SpringCloud 和微服务
- BeanFactory 和生命周期
-
ORM 框架
- Mybatis
Mybatis 进阶使用
Mybatis 拦截器
Mybatis 调用存储过程
- Mybatis
-
消息中间件
- RabbitMq
RabbitMq 入门和死信队列 - Kafka
- RabbitMq
-
存储中间件 NoSql
- Redis
Redis 基础一般面试会问到
Redis 主从和哨兵
Redis 集群
主从,哨兵,集群实践
Redis 相关功能和实用命令
spring-data-redis-cache 缓存主动刷新
Redis key 的键 6 种淘汰策略 - Mongodb
- FastDFS
- FTP/SFTP
- HBase
- Redis
-
RPC 调用中间件
- Dubbo
-
-
分布式相关
-
分布式协调 Zookeeper
-
分布式唯一Id
分布式 ID 生成 一些常见思路和实例
-
分布式定时任务
quartz2.x
elasticjob 分布式定时任务
xxljob 分布式定时任务 -
分库分表
-
分布式 session 认证 jwts
-
一致性 hash
-
-
运维和可持续集成
- nginx
nginx 基本知识
nginx location 匹配 - linux
linux 命令精简实用版
vi/vim 的使用
文件或命令查找工具 find locate which whereis type - jenkins
- docker
- nginx
技术选型
Bean Mapping 工具选型,推荐 MapStruct
一些常用工具类收集
apache-commons 常用工具类
apache-commons 工具类扩展
spring 常用工具类(一)
spring 常用工具类(二)
spring 常用工具类(三)
List 截断工具
通用树转换
通用业务数据模拟工具
高级开发话题(进阶)
- 缓存 DB 一致性问题
- 主从同步延时时,如果从库读到了过期的数据并做了后续处理