NipGeihou's blog NipGeihou's blog
  • Java

    • 开发规范
    • 进阶笔记
    • 微服务
    • 快速开始
    • 设计模式
  • 其他

    • Golang
    • Python
    • Drat
  • Redis
  • MongoDB
  • 数据结构与算法
  • 计算机网络
  • 应用

    • Grafana
    • Prometheus
  • 容器与编排

    • KubeSphere
    • Kubernetes
    • Docker Compose
    • Docker
  • 组网

    • TailScale
    • WireGuard
  • 密码生成器
  • 英文单词生成器
🍳烹饪
🧑‍💻关于
  • 分类
  • 标签
  • 归档

NipGeihou

我见青山多妩媚,料青山见我应如是
  • Java

    • 开发规范
    • 进阶笔记
    • 微服务
    • 快速开始
    • 设计模式
  • 其他

    • Golang
    • Python
    • Drat
  • Redis
  • MongoDB
  • 数据结构与算法
  • 计算机网络
  • 应用

    • Grafana
    • Prometheus
  • 容器与编排

    • KubeSphere
    • Kubernetes
    • Docker Compose
    • Docker
  • 组网

    • TailScale
    • WireGuard
  • 密码生成器
  • 英文单词生成器
🍳烹饪
🧑‍💻关于
  • 分类
  • 标签
  • 归档
  • 设计模式

  • 开发规范

  • 经验分享

  • 记录

    • 「记录」SpringBoot与前端传递的json中属性映射读写注解
    • Maven常用命令
    • 「记录」Java使用CAS更新对象字段值
      • Student.class
    • 「MyBatis」MyBatis常用标签
    • 改造ruoyi-cloud
    • Mybatis-plus使用JSON类型
    • RuoYi-Cloud-Plus

    • Spring

    • 源码分析

  • 快速开始

  • 笔记

  • 面试题

  • 微服务

  • 踩过的坑

  • Java
  • 记录
NipGeihou
2022-02-11
目录

「记录」Java使用CAS更新对象字段值

# Student.class

public class Student{
    private volatile String status;
    
    public boolean compareAndSetStatus(String expect, String update) {
        return AtomicReferenceFieldUpdater
                .newUpdater(Student.class, String.class, "status")
                .compareAndSet(this, expect, update);
    }
}

经测试 AtomicReferenceFieldUpdater 无法避免 ABA 问题

上次更新: 2022/12/31, 03:04:26
Maven常用命令
「MyBatis」MyBatis常用标签

← Maven常用命令 「MyBatis」MyBatis常用标签→

最近更新
01
Docker Swarm
04-18
02
安全隧道 - gost
04-17
03
Solana最佳实践
04-16
更多文章>
Theme by Vdoing | Copyright © 2018-2025 NipGeihou | 友情链接
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式