自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

兴趣是最好的老师

http://www.cnblogs.com/ZHOUVIP/

  • 博客(1561)
  • 收藏
  • 关注

原创 GuLi商城-商品服务-API-三级分类-查询-树形展示三级分类数据

3、启动项目,看nacos服务列表。5、登录看页面效果OK。1、网关服务配置路由。

2024-03-25 22:34:41 230

原创 GuLi商城-商品服务-API-三级分类-网关统一配置跨域

启动网关等服务和人人后端项目、前端项目。注掉人人项目中已经有的跨域设置。

2024-03-23 21:46:05 397

原创 ThreadLocal-阿里规范对ThreadLocal要求

【代码】ThreadLocal-阿里规范对ThreadLocal要求。

2024-03-17 23:21:27 46

原创 ThreadLocal-案例编码实战

需求变更:希望各自分灶吃饭,各凭销售本事提成,按照出单数各自统计-------比如房产中介销售。问题描述:5个销售买房子,集团只关心销售总量的准确统计数,按照总销售额统计,方便集团公。司给部分发送奖金--------群雄逐鹿起纷争------为了数据安全只能加锁。都有自己的销售额指标,自己专属自己的,不和别人参和。----人手一份天下安。因为每个Thread内有自己的实例副本且该副本只有当前线程自己使用。统一设置初始值,但是每个线程对这个值得修改都是各自线程互相独立得。

2024-03-17 22:26:43 40

原创 MAC-键盘command快捷键、设置windows快捷键

在 Windows PC 专用键盘上,请用 Alt 键代替 Option 键,用 Ctrl 键或 Windows 标志键代替。设置windows快捷键。Command 键。

2024-03-02 22:34:10 340

原创 ThreadLocal-是什么、能干嘛

2024-02-08 20:51:04 61

原创 原子类-LongAdder源码分析、sum()方法

总结:

2024-01-29 23:42:06 76

原创 原子类-LongAdder源码分析、longAccumulate()方法

2024-01-29 22:10:41 79

原创 原子类-LongAdder源码分析、add()方法

源码:

2024-01-28 23:24:18 64

原创 原子类-LongAdder高性能原理说明

总结:

2024-01-25 22:56:18 44

原创 原子类-LongAdder源码分析前置知识

2024-01-24 00:02:31 42

原创 原子类-高性能热点商品点赞计数案例

热点商品点赞计算器,点赞数加加统计,不要求实时精确

2024-01-21 23:01:15 80

原创 原子类-原子操作增强类理论入门、LongAdder和LongAccumulator简介

原子类之LongAdder和LongAccumulator简介。

2024-01-21 22:28:47 78

原创 原子类-对象的属性修改原子类案例2

需求:多线程并发调用一个类的初始化方法,如果未被初始化过,将执行初始化工作。AtomicReferenceFieldUpdater案例演示。要求只能被初始化一次,只有一个线程操作成功。

2024-01-18 23:36:58 44

原创 原子类-对象的属性修改原子类理论、对象的属性修改原子类案例

AtomicIntegerFieldUpdater使用案例。以一种线程安全的方式操作非线程安全对象内的某些字段。对象的属性修改原子类。

2024-01-16 23:01:07 66

原创 原子类-引用类型原子类

该类将整数值与引用关联起来,可用于解决原子的更新数据和数据的版本号,可以解决使用 CAS 进行原子更新时可能出现的 ABA 问题。AtomicMarkableReference与AtomicStampedReference一样也可以解决ABA的问题,两者。AtomicMarkableReference是通过boolean型的标识来判断数据是否有更改过。唯一的区别是,AtomicStampedReference 是通过int类型的版本号,而。业务场景中,不关心引用变量被修改了几次,只是单纯的关心是否更改过。

2024-01-16 22:01:27 63

原创 原子类-数组类型原子类

AtomicIntegerArray案例演示。数组类型原子类常用API简介。

2024-01-15 23:16:18 52

原创 原子类-入门介绍和分类说明、基本类型原子类、Join和CountDownLatch都可以让一个线程等待子线程完成

Atomic翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学。反应中是不可分割的。在我们这里Atomic是指一个操作是不可中断的。即使是在多个线程一起执。方法一:加时间,等待其他线程执行完,练习可以使用,实际开发不可以用,时间不好确定。结果出乎意料,不是50000,说明其他线程没有结束,main线程就打印了。行的时候,一个操作一旦开始,就不会被其他线程干扰。方法二:thread.join()等待子线程跑完。方法三:CountDownLatch。基本类型原子类常用API简介。

2024-01-14 23:11:27 280

原创 CAS-ABA问题编码实战

多线程情况下演示AtomicStampedReference解决ABA问题。一句话总结:比较加版本号一起上。

2024-01-11 23:07:45 115

原创 自旋锁和互斥锁的区别

自旋锁和互斥锁的区别_自旋锁和互斥锁有什么区别?-CSDN博客

2024-01-11 22:52:22 80

原创 CAS-两大缺点、AtomicStampedReference入门

AtomicStampedReference带戳记流水的简单演示(单线程)1、循环时间长开销很大。版本号时间戳原子引用。

2024-01-02 21:52:09 411

原创 Java多线程计数

2023-12-30 00:06:02 397

原创 CAS-手写自旋锁补充、thread.join()等待子线程执行完

等待多个线程执行完成后再运行的几种方式。

2023-12-30 00:04:01 403

原创 CAS-手写自旋锁

CAS是实现自旋锁的基础,CAS利用CPU指令保证了操作的原子性,以达到锁的效果,至于自旋。所谓自旋锁就是通过while循环实现的,让拿到锁的线程进入临界区执行代码,让没有拿到锁的线。CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程。锁,当线程发现锁被占用时,会不断循环判断锁的状态,直到获取。获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成busy-程不会造成干扰的情况下执行,会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁。

2023-12-27 23:17:33 393

原创 CAS-原子引用AtomicReference

原子引用

2023-12-27 21:53:51 333

原创 CAS-Unsafe类底层汇编源码分析

源码分析: 底层汇编:cmpxchg底层:cmpxchg即比较并交换指令总结:

2023-12-25 21:53:08 426

原创 CAS-源码分析引出Unsafe类、Unsafe类详解

问题:我们知道i++是线程不安全的,那AtomicInteger.getAndIncrement()如何保证原子性?Unsafe类是CAS的核心类,由于Java方法无法直接访问底层系统,需要通过本地(native)方法来。注意:Unsafe类中的所有方法都是native修饰的,也就是说Unsafe类中的所有方法都直接调用操作。sun.misc包中,其内部方法操作可以像C的指针一样直接操作内存,因此Java中CAS操作的执行依。访问,Unsafe相当于一个后门,基于该类可以直接操作特定内存的数据。

2023-12-20 22:13:36 382

原创 CAS-原理简介

CAS(compare and swap),中文翻译为比较并交换,实现并发算法时常用到的一种技术,用于保。多线程环境中使用原子类保证线程安全i++(基本数据类型)---------->类似于乐观锁。证共享变量的原子性更新,它包含三个操作数---内存位置、预期原值与更新值。多线程环境中不使用原子类保证线程安全i++(基本数据类型)

2023-12-19 22:09:19 403

原创 MAC-截取视频

2023-12-19 21:29:53 428

原创 List去重-使用distinctByKey方法根据对象的属性进行去重

【代码】List去重-使用distinctByKey方法根据对象的属性进行去重。

2023-12-18 16:17:58 507

原创 volatile-之小总结

凭什么我们Java写了一个volatile关键字,系统底层加入内存屏障?两者的关系如何勾搭?是一种屏障指令,它使得CPU或编译器对屏障指令的前和后所发出的内存操作执行一个排序的约。读操作时加入屏障,线程私有工作内存的数据失效,重新回到主物理内存中获取最新值。volatile写之前的操作,都禁止重排序到volatile之后。volatile读之后的操作,都禁止重排序到volatile之前。写操作时加入屏障,强制将线程私有工作内存的数据刷回主物理内存。volatile写之后volatile读,禁止重排序。

2023-11-30 20:58:09 420

原创 IDEA-快捷键大全

41 ctrl + alt + h 查看方法的多重重写结构。49 ctrl + shift + h 查看哪些方法被调用。9 ctrl + shift + enter 向上开始新的一行。47 ctrl + shift + q 快速搜索类中的错误。48 ctrl + shift + v 选择粘贴的内容。18 ctrl + alrt + / 提示方法参数类型。32 alt + shift + c 收起所有的方法。33 alt + shift + x 打开所有的方法。

2023-11-29 11:16:04 1059

原创 Guli商城-商品服务-API-三级分类-配置网关路由与路径重写

报错:org.yaml.snakeyaml.parser.ParserException: while parsing a block collection。准备在moudles下新建product文件夹,新建category.vue。修改对应下面网关的配置网关端口号88,前端api开头的请求都走网关。缩进格式不对,重新改下,注意- id之间有空格,启动ok。点击分类维护的路径是:product/category。新建category.vue,保存后,刷新页面。启动网关服务,看有没有注册到nacos中。

2023-11-09 23:47:03 172

原创 GuLi商城-商品服务-API-三级分类-查询-递归树形结构数据获取

在nacos的bin目录打开终端sh startup.sh。

2023-11-07 23:08:15 289

原创 volatile-日常使用场景

原理是:利用volatile保证读操作的可见性,利用synchronized保证符合操作的原子性。作为一个布尔状态标志,用于指示发生了一个重要的一次性事件,例如完成初始化或任务结束。当读远多于写,结合使用内部锁和volatile变量来减少同步的开销。问题描述:首先设定一个加锁的单例模式场景。

2023-11-06 23:32:43 136

原创 volatile-禁重排案例详解

在每一个volatile写操作前面插入一个StoreStore屏障--->StoreStore屏障可以保证在volatile写之前,其前面所有的普通写操作都已经刷新到主内存中。在每一个volatile写操作后面插入一个StoreLoad屏障--->StoreLoad屏障的作用是避免volatile写与后面可能有的volatile读/写操作重排序。在每一个volatile读操作后面插入一个LoadLoad屏障--->LoadLoad屏障用来禁止处理器把上面的volatile读与下面的普通读重排序。

2023-11-05 23:01:48 199

原创 volatile-无原子性案例详解

【代码】volatile-无原子性案例详解。

2023-11-05 20:31:55 122

原创 Object转List<>,转List<Map<>>

【代码】Object转List,转List<Map<>>

2023-11-01 16:40:10 1236

原创 扩展-ThreadLocal方法耗时计算

【代码】ThreadLocal方法耗时计算。

2023-10-24 23:42:25 61

原创 MAC-设置mysql开机自启动

MAC-设置mysql开机自启动

2023-10-24 22:38:11 216

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除