熟悉 Java 基础,熟悉 OOP 的思想,代码规范,了解常见的集合类(Set,List,Map),IO 的
一些模型,了解 HashMap,ArrayList 的源码
了解 java 并发编程的知识,了解常见的锁机制以及一些常见的类和关键字(Synchronized,
volatile)的原理和使用,了解线程池的基本使用
熟悉 Spring,SpringBoot,SpringMvc,MyBatis 等框架,了解 SpringBoot 自动装配的原理,
事件监听的原理,IOC,AOP 的原理,Spring 事务的原理,了解微服务的思想,了解
SpringCloudAlibaba 中一些常用的组件
了解 mysql,redis 数据库,了解 mysql 中的 innodb 存储引擎,索引,事务隔离级别,还有
mvcc 等知识,了解 redis 中五种数据结构的基本使用,redis 的持久化,以及缓存穿透,缓
存雪崩,缓存击穿,还了解 redission 的基本使用
了解 rocketmq 消息中间件,了解 rocketmq 的工作原理以及基本的使用
了解一些常见的设计模式,例如单例模式,代理模式,观察者模式等
了解 JVM 相关知识,jvm 的内存模型,类加载机制,垃圾回收机制
预约挂号系统 后端开发 2022.6-2022.9
项目架构:SpringBoot+ SpringCloud+ MyBatisPlus+ Redis+ MongoDb +nginx + RocketMq
项目描述:本项目主要包括后台管理部分,预约系统部分,后台管理部分功能包括:用户的注
册认证以及用户权限的管理,医院的认证管理,预约部分功能包括:用户登录注册以及认证,
预约挂单及取消,支付功能以及退款功能;
项目技术点:在预约模块中结合了第三方支付接口实现支付以及查询支付状态,用 redis 来实
现可预约人数的扣减,通过 lua 脚本来实现 redis 中组合操作的原子性
项目难点:高流量情况下已预约人数大于可预约人数,以及一人重复预约挂号的问题
解决在开放预约挂号前将预约数量先加载进 redis 同时再建立一个存储已经预约挂单过的 set
集合,在预约挂号前先去redis中查询是否还有订单以及查询set集合中是否以及存在该用户,
如果上面条件都满足了,然后再结合 rocketmq 消息队列异步修改数据库中订单的状态,