![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java进阶
Martian158
这个作者很懒,什么都没留下…
展开
-
线程安全的无锁循环队列实现
1.要解决的问题多个生产者、多个消费者线程在内存中完成合作2.应用场景需要用到并发内存消息队列的场景,如撮合交易3.需要的基础知识CAS(CompareAndSwap)位运算4.解决思路用数组不用链表,更快保证生产、消费的持续,需是循环队列不用Syncronized、不用显示锁,更快使用AtomicReferenceArray中的CAS API,保证线程安全且更快数组长度设置为2^n,位运算计算下标,更快5.关键源码数据成员private AtomicRefer原创 2020-07-26 18:02:23 · 1835 阅读 · 0 评论 -
SSO单点登录之徒手实现篇
1.环境信息Springboot 2.2.0thymeleaf2.CAS Server关键代码拦截器public class LoginHandlerInterceptor implements HandlerInterceptor { private final Logger logger = LoggerFactory.getLogger(LoginHandlerInte...原创 2020-04-11 23:20:44 · 258 阅读 · 0 评论 -
SSO单点登录之原理篇
1.场景多个不同域名的服务,希望用户只要登录其中一个,其余访问时自动登录,即单点登录(SSO,Single Sign On)。2.CAS(Central Authentication Service)实现SSO的原理2.1关键点依赖于cookie中保存sessionIdServerA将请求重定向到CAS服务,而不是直接转发至CAS服务,这样浏览器便保存了CAS服务的cookie。访问...原创 2020-04-11 21:31:56 · 200 阅读 · 0 评论