随笔分类 -  java 数据同步

摘要:转载自 Java 并发实践 — ConcurrentHashMap 与 CAS 最近在做接口限流时涉及到了一个有意思问题,牵扯出了关于concurrentHashMap的一些用法,以及CAS的一些概念。限流算法很多,我主要就以最简单的计数器法来做引。先抽象化一下需求:统计每个接口访问的次数。一个接口 阅读全文
posted @ 2018-05-07 11:07 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 多线程并发神器--ThreadLocal 什么是ThreadLocal 可以理解成线程本地变量,传统的线程对一个变量操作时操作的是同一个对象,也存在线程安全的问题。 ThreadLocal是一个变量的本地副本,线程对变量的操作不会影响其他线程。 首先看看ThreadLocal的类结构 其中可 阅读全文
posted @ 2018-04-29 20:08 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 深入理解CAS算法原理 1、什么是CAS? CAS:Compare and Swap,即比较再交换。 jdk5增加了并发包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于synchronouse同步锁的一种乐观锁。JDK 5之前Java语言是靠synchro 阅读全文
posted @ 2018-04-29 20:06 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 永远爱大家的 程序员小灰 ————— 第二天 ————— ———————————— Java内存模型简称JMM(Java Memory Model),是Java虚拟机所定义的一种抽象规范,用来屏蔽不同硬件和操作系统的内存访问差异,让java程序在各种平台下都能达到一致的内存访问效果。 Jav 阅读全文
posted @ 2018-04-13 22:06 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 永远爱大家的 程序员小灰 这一期我们来深入介绍之前遗留的两个问题: Java当中CAS的底层实现 CAS的ABA问题和解决方法 首先看一看AtomicInteger当中常用的自增方法 incrementAndGet: public final int incrementAndGet() {f 阅读全文
posted @ 2018-04-12 15:18 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 永远爱大家的 程序员小灰 示例程序:启动两个线程,每个线程中让静态变量count循环累加100次。 最终输出的count结果是什么呢?一定会是200吗? 加了同步锁之后,count自增的操作变成了原子性操作,所以最终的输出一定是count=200,代码实现了线程安全。 为什么这么说呢?关键在 阅读全文
posted @ 2018-04-12 15:00 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:本文转载自 占小狼的博客 前言 在面试环节中,考察"ThreadLocal"也是面试官的家常便饭,所以对它理解透彻,是非常有必要的. 有些面试官会开门见山的提问: “知道ThreadLocal吗?”“讲讲你对ThreadLocal的理解” 当然了,也有面试官会慢慢引导到这个话题上,比如提问“在多线程 阅读全文
posted @ 2018-04-12 12:29 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)