- 博客(7)
- 收藏
- 关注
原创 并发编程--显示锁
并发编程–显示锁1.预备概念显示锁和内部锁区别?最大区别在于是否需要手动地去获取、释放锁,手动获取和释放锁的方法就叫显示锁,否则就是内部锁。ReentrantLock 属于显示锁,synchronzied 属于内部锁。为什么需要显示锁?内部锁拿锁和取锁的过程比较固定,没有办法灵活的获取和释放锁,显示锁就是手动获取和释放锁,提供超时拿锁、尝试拿锁的功能,这些功能是内部锁不具备的。2....
2019-12-01 17:28:48
213
原创 原子操作CAS
并发编程–原子操作CAS1.预备概念CAS:(compared and sweep)比较后进行交换,是一种乐观锁的设计思想。synchronized:是以一种基于悲观锁的实现。原子操作:不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何上下文切换,在x86 平台上,CPU提供了在指令执行期间对总线加锁的手段,需要硬件支持。2.CAS原理一.实现原理:流程...
2019-11-30 22:30:14
252
原创 并发编程--synchronized、volatile、ThreadLocal的使用
并发编程–synchronized、volatile、ThreadLocal的使用1.synchronized内置锁加锁目标对象对象锁类锁加锁的注意事项:各个线程竞争锁的目标对象必须是同一个。各个线程竞争锁的目标对象不能更改,例如:/** * 类说明:错误的加锁和原因分析 */public class TestIntegerSyn { public stat...
2019-11-30 10:54:08
417
原创 并发编程一(线程间的共享和协作)
并发编程一(线程间的共享和协作)基础概念进程和线程的区别?CPU核心数和线程数的关系?什么是CPU时间片轮转机制?上下文切换?并行和并发?进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位,包含关系,一个进程包含多个线程。内核数:线程数=1:1 超线程技术后 内核数:线程数=1:2RR时间片轮换机制,CPU来回切换线程运行。上下文切换非常耗费CPU资...
2019-11-27 23:32:53
413
原创 Dubbo第三次课
前情回顾:1、集群容错:a、<dubbo:service cluster=“failover” retries=/> 提供方配置,当调用一个服务失败之后,切换到另外一个服务,retries可以设置重试次数,适用于幂等操作。b、failFast 当调用服务失败后,不再调用其他服务,适用于非幂等操作。c、failsafe 调用失败之后忽略。2、负载均衡:loadbalance=...
2019-04-01 21:42:24
140
原创 Maven 私有仓库的搭建
nexus 企业私服的搭建:nexus下载地址:解压(tar -xzvf )、启动(bin/neuxs start)一般采用docker启动(nexus官方推荐),步骤:mkdir /nexus-data (存放数据文件)chown 200 /nexus-data 更改目录归属为200的用户docker run -d --name nexus --privileged=true...
2019-03-31 21:51:40
213
原创 Dubbo学习第二次课程
Dubbo 学习第二次课一、前情回顾:1、dubbo的四种配置方式:List itemxml(常用)propertiesannotation(常用)api方式2、dubbo标签有个继承关系,下层会继承上层属性配置。(原因:很多提供者只知道自己的接口配置什么属性合适,eg:timeout)。二、今天课程内容把mvc web项目变成dubbodubbo里面常用的一些配置使用...
2019-03-31 20:20:55
168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人