摘要: 非公平锁与公平锁解锁 唤醒挂起的线程,将state设置无锁即为0.注:如果多次获取相同的锁,就必须释放多少次。 /** * Attempts to release this lock. * * <p>If the current thread is the holder of this lock t 阅读全文
posted @ 2020-03-26 21:24 柳无情 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 非公平锁加锁 · 1)当前线程能加锁,设置当前持有锁的线程为当前线程;否则会再次获取锁,获取不成功加入等待队列 /** * Performs lock. Try immediate barge, backing up to normal * acquire on failure. */ final 阅读全文
posted @ 2020-03-26 21:21 柳无情 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 原理与概念 1.ReentrantLock原理:多个线程获取锁,一个线程获取到锁,其他线程排队等待锁,并挂起;当获取到锁这个节点释放锁,就会唤醒队伍的头结点。 2.ReentrantLock是个可重入锁,支持公平锁和非公平锁。ReentrantLock默认使用非公平锁,看源码可知。 /** * Cr 阅读全文
posted @ 2020-03-26 21:20 柳无情 阅读(2282) 评论(0) 推荐(0) 编辑
摘要: 并发产生的原因浅析 变量的值是放在堆中,堆又是所有线程共享的,每个线程都有自己的工作内存,每次修改内存的值会从主内存中变量的值加载到自己的工作内存中,修改完把工作内存的值写回主内存。这个机制就导致程序无法按人的逻辑执行得出正确结果,因为你无法得知内存的值到底是几。 以HashMap为例: 全局变量 阅读全文
posted @ 2020-03-12 23:09 柳无情 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 一、数据库使用条件 1.mysql常用的引擎分为innodb和myisam引擎,只有innodb引擎支持事务;oracle没有引擎的概念,支持事务. 2.mysql5.5.5以上默认Engine是Innodb,默认事务隔离级别是repeatable 二、概念 官方原文 Transactions ar 阅读全文
posted @ 2019-11-19 16:12 柳无情 阅读(117) 评论(0) 推荐(0) 编辑
摘要: sharding-jdbc主要为了简化大数据量要做分库分表,自己要写分库分表代码的一个框架,当然这个框架功能非常强大,还支持读写分离,简单配置即可使用,注意这个为java定制化框架,当然其他语言想要用可以用mycat或者sharding-proxy。官方资料:https://shardingsphe 阅读全文
posted @ 2019-11-05 14:56 柳无情 阅读(1198) 评论(0) 推荐(0) 编辑
摘要: 本方案是两个数据源分开独立,事务独自管理,没有做分布式事务方案,没有做动态数据源切换,应用在一个模块简单集成多个数据源,独立操作各自数据库,事务不交叉的场景 1.pom.xml <dependencies> <dependency> <groupId>org.springframework.boot 阅读全文
posted @ 2019-11-05 14:24 柳无情 阅读(1782) 评论(0) 推荐(0) 编辑
摘要: 背景 spring为了简化与http服务的交互,执行rest原则而开发一个工具类 简单使用 1.引入spring-webmvc包,版本自己选 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</ 阅读全文
posted @ 2019-09-09 17:16 柳无情 阅读(3001) 评论(0) 推荐(0) 编辑
摘要: 1.介绍 spring data jpa是对hibernate的封装,适用场景没有复杂查询,不需要做查询优化,jpa自身已经实现简单crud 2.使用前提 引入pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifa 阅读全文
posted @ 2019-08-19 17:14 柳无情 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 1.pom,xml引入下面的架,版本自己选 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> <version>2.1.3.RELEAS 阅读全文
posted @ 2019-06-05 15:23 柳无情 阅读(1305) 评论(0) 推荐(0) 编辑