写点什么

CAS

0 人感兴趣 · 27 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/ad/ad460b383a312e43d6a5da39da57cbdb.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【实践篇】基于 CAS 的单点登录实践之路

上个月我负责的系统SSO升级,对接京东ERP系统,这也让我想起了之前我做过一个单点登录的项目。想来单点登录有很多实现方案,不过最主流的还是基于CAS的方案,所以我也就分享一下我的CAS实践之路。

https://static001.geekbang.org/infoq/23/2340a3f0b0e6603d5f28017f4e5ee2ec.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

面试官:说说什么是单点登录?什么是 SSO?什么是 CAS?

单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的

https://static001.geekbang.org/infoq/1a/1a4b45bdd5eb8f6c591afdfd19ff8f34.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

DataEase 集成 CAS 实现用户单点登录

随着企业 IT 场景越来越复杂,应用平台不断增加,用户需要管理每个应用平台的登录信息;用户集中管理平台(如:“LDAP”)可以使用户在所有应用平台使用同一个用户名进行登录;而单点登录平台,可以使用户登录任一应用平台后,继续登录其他平台无需输入密码,

喜讯|云起无垠实力入选《2022 年度中国数字安全能力图谱》

用户头像
云起无垠
2022-12-23

近日,数世咨询发布了《2022年度中国数字安全能力图谱》,云起无垠作为Fuzzing创新者代表、持续应用安全CAS的创新者实力入选。

https://static001.geekbang.org/infoq/6e/6eb5ea71b3fd20713057a89255daf5d6.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

阿里二面: 什么是 CAS?

在高并发的业务场景下,线程安全问题是必须考虑的,在JDK5之前,可以通过synchronized或Lock来保证同步,从而达到线程安全的目的。但synchronized或Lock方案属于互斥锁的方案,比较重量级,加锁、释放锁都会引起性能损耗问题。

https://static001.geekbang.org/infoq/d9/d9e4579f78b356107466d0c735690cc8.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

译文《Java 并发编程之 CAS》

用户头像
潘大壮
2022-03-15

CAS (compare and swap) 是并发算法设计时使用的一种技术,也可用于实现乐观锁。

并发编程之深入理解 CAS

用户头像
Fox
2021-11-08

CAS(Compare And Swap,比较并交换),通常指的是这样一种原子操作:针对一个变量,首先比较它的内存值与某个期望值是否相同,如果相同,就给它赋一个新值。

https://static001.geekbang.org/infoq/48/4840e47557eac7e32396e6ba0aeef3a1.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Growing 账号认证实践

目前 GrowingIO 一共支持了 CAS, OAuth2, LDAP 三种不同的接入协议。本文将详细介绍我们是如何支持这三个接入方式的。

https://static001.geekbang.org/infoq/f4/f4fd656614c83873f96a7404db80ad54.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

编程基础: 硬件同步原语

用户头像
正向成长
2021-09-09

在并发编程中,我们常常使用锁来保护共享资源,这样会导致性能上的损失。在一些情况下,可以采用硬件同步原语来替代锁,在确保数据安全性的同时,也可以获取更好的性能。

https://static001.geekbang.org/infoq/d8/d8a94bc19e4113b30a89ef2341a47613.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

用太极拳讲分布式理论,真舒服!

用户头像
悟空聊架构
2021-07-12

我把 CAP 理论称作太极,ACID 理论称为阳或刚,BASE 理论称为阴或柔。ACID 理论追求一致性,BASE 理论本来就叫做柔性事务,追求的是可用性。那张无忌为什么会全忘了还打败了玄冥二老呢?因为太极拳的精髓是拳意,无招胜有招。

由浅入深 C A S

用户头像
程序猿阿星
2021-07-12

Java并发编程系列番外篇C A S(Compare and swap),文章风格依然是图文并茂,通俗易懂,让读者们也能与面试官疯狂对线。

https://static001.geekbang.org/infoq/39/39f85a546a1838bf67f7c9287eae084b.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Java- 技术专题 - 同步可见性的查缺补漏

用户头像
洛神灬殇
2021-04-27

《Java面试神技》整理了从业到现在看到的、经历过的一些Java面试题,这些面试题的主要来源是一些网站还有github上的内容,话不多说,直接上图:

https://static001.geekbang.org/infoq/34/34cd41b66ab3be23f7ac40136a4c5419.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Disruptor 源码解读

用户头像
lich0079
2021-04-20

本文适合对Disruptor框架和源码有初步了解的读者。 对Disruptor的运行机制在源码级别上做出解读。

5 分钟部署一个 OIDC 服务并对接 nightingale

用户头像
冯骐
2021-03-15

就如在5 分钟部署一个 OAuth2 服务并对接 Shibboleth-IdP 3.4.6中提过的那样,OAuth2 作为一个授权协议,他对于认证相关的规范是缺乏标准的。这就是 OpenID Connect ——简称 OIDC 诞生的原因。

并发编程 - 原子操作 CAS

用户头像
赖猫
2021-03-12

假定有两个操作A 和B,如果从执行A 的线程来看,当另一个线程执行B 时,要么将B 全部执行完,要么完全不执行B,那么A 和B 对彼此来说是原子的。

15 分钟部署一个 CAS 服务并对接 Shibboleth-IdP 3.4.6

用户头像
冯骐
2021-03-04

CAS 是一个经典的单点登录方案,又有 开源版本 的支持,因此广大提供统一身份认证解决方案的供应商通常会基于CAS提供解决方案。尽管如此,实际对接的时候可能会遇到问题,这时候就特别想要自己部署一个测试的 CAS 来进行验证。

https://static001.geekbang.org/infoq/ad/ad3643259a3ae328e4b767ad075c1994.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Java 中 CAS 原理分析 (volatile 和 synchronized 浅析)

用户头像
叫练
2020-12-14

CAS英文解释是比较和交换,是cpu底层的源语,是解决共享变量原子性实现方案,它定义了三个变量,内存地址值对应V,期待值E和要修改的值U,如下图所示,这些变量都是在高速缓存中的,如果两个线程A,B分别通过cas方式同时修改共享变量,假设当A线程先获取时间

https://static001.geekbang.org/infoq/57/5786df1c3fec9dd0276bb7e6c5c60b0b.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

深入掌握底层源码常见的 CAS 原子编程

用户头像
马丁玩编程
2020-11-29

阅读文章收获如下知识:1. 无锁编程产出背景 2.CAS 如何实现的无锁编 3. CAS 使用中的 “ABA” 痛点 4. 如何解决 “ABA” 问题

https://static001.geekbang.org/infoq/0f/0f35751a12d379f5f4313b3e6cc3181d.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

面经手册 · 第 17 篇《码农会锁,ReentrantLock 之 AQS 原理分析和实践使用》

用户头像
小傅哥
2020-11-12

AQS、CAS、CLH、MCS、UNSAFE,这是虾呀?工作两三年了,总得有点干货吹吹牛!

https://static001.geekbang.org/infoq/5d/5dbc89b9d0335ff43ec89a9068557fc9.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

高并发系列——CAS 操作及 CPU 底层操作解析

用户头像
诸葛小猿
2020-09-15

CAS(Compare-and-Swap),即比较并替换,是一种实现并发算法时常用到的技术,Java并发包中的很多类都使用了CAS技术。CAS也是现在面试经常问的问题,本文将深入的介绍CAS的原理。

https://static001.geekbang.org/infoq/97/97b637c5380ef583639ed96d655e7a45.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

AtmoicXXX 与 AtmoicXXXArray 源码分析

用户头像
Darren
2020-09-03

Atmoic源码分析,从内存布局开始,分析CAS执行原理,Atmoic的实现过程

https://static001.geekbang.org/infoq/ea/eaedc4b3d97850d556d5e30827dfe7d0.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

JDK8 Unsafe.java 源码

用户头像
Darren
2020-09-03

最近在整理回顾多线程的东西,CAS是必不可少需要关注的重点,在Java中,CAS主要是通过Unsafe实现的,但是在IDEA中打开,看见的是class文件,并不是源码,没有注释,看起来非常的费解,因此找到了该类的源码,作为查看学习的记录。

https://static001.geekbang.org/infoq/dd/dd33455c74fbb714894855c64caa4c42.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

手写一个重入锁

用户头像
诸葛小猿
2020-08-02

通常我们说的并发安全问题,都是由多个线程同时修改公共的资源引起的。由于不同线程同时修改公共资源而导致最终执行的结果不确定。解决这个问题的简单的做法是使用java关键字synchronized来加锁。关于synchronized不是本期的重点,本期我们主要说重入锁。

https://static001.geekbang.org/infoq/99/9930a4c303b608c17fc2109f809289e2.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

深入理解 CAS:以 AtomicInteger 为例

用户头像
itlemon
2020-07-09

从本篇文章开始,我们将对JDK并发包java.util.concurrent中相关类的源码进行分析,通过分析源码,能让我们尽快地掌握并发包中提供的并发工具,能让我们更好地利用这些并发工具写出更加好的代码。本篇文章的主角是AtomicInteger,接下来,请跟随文章的节奏一起

JAVA 中的 CAS

用户头像
犀利豆
2020-06-12

原文地址:https://www.xilidou.com/2018/02/01/java-cas/

CAS_CAS技术文章_InfoQ写作社区