高并发
文章平均质量分 63
颖超
这个作者很懒,什么都没留下…
展开
-
线程:springboot中标注安全与不安全的注解简单写法
package com.mmall.concurrency.annoations;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Targ...原创 2018-04-02 10:07:48 · 1184 阅读 · 0 评论 -
Redis分布式锁----乐观锁的实现,以秒杀系统为例
摘要:本文使用redis来实现乐观锁,并以秒杀系统为实例来讲解整个过程。本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning乐观锁 大多数是基于数据版本(version)的记录机制实现的。即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个”version”字段来实现读取出数据...原创 2018-04-02 13:20:18 · 770 阅读 · 0 评论 -
线程安全-AtomicInteger
定义:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。原子性:提供了互斥访问,同一时刻只能有一个线程来对他进行操作可见性:一个线程对主内存的修改可以及时的被其他线程观察到有序性:一个 线程观察其他线程中的指令执行顺序,由于指令重排序的存在该观察结果一般杂乱无序。原子...原创 2018-04-02 14:38:39 · 534 阅读 · 0 评论 -
线程安全-AtomicLong与LongAdder
使用AtomicLong的代码与AtomicInteger一样package com.mmall.concurrency.example.atomic;import com.mmall.concurrency.annoations.ThreadSafe;import lombok.extern.slf4j.Slf4j;import java.util.concurrent.CountDo...原创 2018-04-02 15:07:17 · 1025 阅读 · 0 评论 -
线程安全-有序性
有序性1、java内存模型中,允许编译器和处理器对指令进行重排序,但是重排序过程不会影响到单线程程序的执行,却会影响到多线程并发执行的正确性2、volatile、synchronized、lock有序性-happens-before原则:一、程序次序规则:一个线程内,按照代码顺序,书写在前面的操作先行于书写在后面的操作二、锁定规则:一个unlock操作先行于发生后面对同一个锁的lock操作三、vo...原创 2018-04-02 19:57:54 · 663 阅读 · 0 评论 -
nginx四层和七层负载均衡的区别
(一) 简单理解四层和七层负载均衡: ① 所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟IP+端口接收请求,然后再分配到真...转载 2018-04-03 15:07:53 · 32702 阅读 · 2 评论 -
并发编程与高并发解决方案学习(同步容器)
ArrayList->Vector,StackHashMap->HashTable(key,value不能为null)Collections.synchronizedXXX(List、Set、Map)[java] view plain copyimport com.mmall.concurrency.annoations.ThreadSafe; import lombok.exter...转载 2018-04-05 15:09:36 · 137 阅读 · 0 评论