Spring MVC + Redis实现激活码秒杀活动(3.通过lpop操作实现并发控制的Version2)|技术类|网易-Java-秒杀Spring MVC + Redis实现激活码秒杀活动(3.通过lpop操作实现并发控制的Version2)
在这个版本中,并发控制直接通过redis的lpop操作去实现,具体如下:
核心代码public SeckillResponse seckill(String urs) { ...
Read more
Spring MVC + Redis实现激活码秒杀活动(2.采用动态代理的Version1)|技术类|网易-Java-秒杀Spring MVC + Redis实现激活码秒杀活动(2.采用动态代理的Version1)流程图:
第一个版本的QPS非常低,大概只有几百,原因是加锁的粒度太大 ,对整个抢码逻辑进行了加锁,其次动态代理增加了复杂度,会消耗一部分性能(虽然内存级的影响很小)此处动态代理实现参照了:https://b ...
Read more
Spring MVC + Redis实现激活码秒杀活动(1.设计部分)|技术类|网易-Java-秒杀The article has been encrypted, please enter your password to view.
Read more
关于保研——写在最前面|随笔 Coding Life|保研最近常有小朋友来询问我保研种种,遂以此文记录相关心得体会,希望能给他们一些帮助。
摸黑过河还是挺难的,至今任清晰地记得当我还在大一,刚知道保研推免这个概念时,我的学长们告诉我很难很难。但现在我可以很负责地对我的学弟学妹们说,其实并没有那么难。
一、为什么保研这是所有想保研的同学最该思考清楚的问题,保 ...
Read more
SpringMVC 实现抽奖活动(3.优化—乐观锁实现Version2)|技术类|网易-Java-抽奖SpringMVC 实现抽奖活动(3.优化—乐观锁实现Version2)流程图:针对第一次代码review提出的缺陷与不足,重构了抽奖部分的代码并进行了优化,改用性能更高的乐观锁取代for update。(现在回头来看代码的语义真的好了很多)
核心代码:@Transactional public ...
Read more
SpringMVC 实现抽奖活动(2.Version1 —基于for update悲观锁)|技术类|网易-Java-抽奖SpringMVC 实现抽奖活动(2.Version1 —基于for update悲观锁)流程图:
第一个版本实现的抽奖是保证所有奖品一定能发完的情况(在该场景下只有一个),故每次抽奖的概率不同,会根据剩余用户数与奖品数动态调整(现在整理的时候再看代码的原意真的是惨不忍睹,比如一个map对象命名的后 ...
Read more