7期
lvhy踩坑之路
这个作者很懒,什么都没留下…
展开
-
Java并发编程之悲观、乐观、公平、非公平锁
一般的情况下只有做写的时候才会上锁。 写: update del insert 查:select 悲观锁: 就是比较悲观,每次在在执行我们同步代码块的时候都会获取锁,如果没有获取到锁的情况下,当前线程会被变为阻塞状态,效率比较低。 阻塞→就绪 Mysql中行锁概念 在mysql中多个线程对同一行数据做写的操作的时候,默认会触发的行锁的机制,最终只有一个线程才能对该行数据做写的操作. 其他的线程会被等待。 悲观锁应用场景: synchronized mysql 中的行锁机制 Lock锁。 事务原理 Beig原创 2020-06-23 22:11:59 · 234 阅读 · 0 评论 -
Java内存模型Jmm与volatile可见性
1.volatile 能够保证线程的可见性,当一个线程在修改我们主内存中的共享变量的数据时候,能够对另外一个线程可见。 注意: volatile 关键字是不能够保证原子性。 特性:保证可见性、防止重排序、不能保证原子性。” 2.如何停止线程 1代码 结果: 1s后没有停止,因为 FLAG不可见 改进: 增加volatile 3.多线程不可见 因为我们Cpu直接操作我们主内存数据的时候( 共享的全局变量,)整个效率是非常低,所以在这时候就产生了三级缓存。 L11213 相当手在每个cpu中都有自己独立高原创 2020-06-16 22:34:38 · 194 阅读 · 0 评论 -
14.多线程之间如何实现同步
1. 什么是线程安全问题 当多个线程同时共享同一一个全局变量做写的操作时候,可能会受到其他线程的手扰,就会产生线程安全问题,导致数据脏读。 2.如何解决线程安全问题 3. Synchronized加锁之后如何保证线程安全问题: 举个例子: 如果A线程获取到锁的情况下,那么B线程就会一直阻塞等待,整个过程是一个悲观锁。 必须要等待A线程执行完代码释放锁之后,B线程从新进入到获取锁的状态。 I 多个线程如何获取锁,看运气。 4.代码 方法加上SYN锁,变成单线程 会出现 卖出地101张票 count原创 2020-06-13 22:51:25 · 686 阅读 · 0 评论 -
13_多线程快速入门_异步写日志_aop
接口响应2S 不需要拿到异步结果,主线程执行完毕就结束 异步类 类增加返回值 运行需要8s aop和目标方法是同一个线程,可以拿到请求属性 单独开线程,不能拿到请求属性 改: 停止线程运行 stop 已经过时、 防止还没执行完,线程就停止运行 多线程5种状态 ...原创 2020-06-11 22:13:22 · 586 阅读 · 0 评论 -
11_springsecurity整合jwt实现接口授权
jwt网址 验签失败: 虽然可以解密,但是无法篡改 没有告诉 盐值 盐值:验签成功 代码生成jwt 运行结果: jwt解密原创 2020-06-10 00:16:11 · 177 阅读 · 0 评论 -
8_基于模版方法+策略模式设计联合登陆框架
策略模式 # 1.工厂模式: 通过map 返回父类: 2.策略模式: 通过 strategy_id 是暴露给外界 隐藏beanid原创 2020-05-30 21:48:24 · 281 阅读 · 0 评论 -
4_装饰模式设计多级缓存
多线程会有线程安全问题:换map 装饰不能改变原有代码。 代码实战一 装饰模式:代码实战二原创 2020-05-29 18:13:48 · 215 阅读 · 0 评论 -
5_基于观察者模式设计异步多渠道群发框架
1、观察者概念: 一个对象发生改变,可以通知给其他所有对象 2、观察者应用场景 1、zk临时节点监听 当zk临时节点发生改变,会通知给所有客户端 2、分布式配置中心 nacos config 刷新配置 3、多渠道群发 addOrder(); //1、向数据库插入订单数据 //2、发送短信代码 //3、发送邮件代码 sendMsg(); sendEmail() sendWechat(); 短信 邮件 3、流程图 4、代码实战(一) 1、观察者抽象类 2、短信通知、邮件通知 3、注册观察者 普通原创 2020-05-23 22:07:15 · 190 阅读 · 0 评论