- 博客(11)
- 收藏
- 关注
原创 带你探索策略模式
1.策略模式角色组成 主要分为3个角色: 封装角色(Context):上层访问策略的入口,它持有抽象策略角色的引用。 抽象策略角色 (Strategy):提供接口或者抽象类,定义策略组必须拥有的方法和属性。 具体策略角色(ConcreteStrategyA、ConcreteStrategyB):实现抽象策略,定义具体的算法逻辑。 2.实战 //封装角色类 public class Context { private Strange strange; //初始化具体策略 pu
2021-07-14 20:10:39
206
原创 春招其实蛮精彩的
1.毕业了你该怎么选择? 面临毕业,我们的选择有很多:考研、考公、直接工作等等。到了社会机遇很多选择也很重要,我认为应该跟着心走选择你认为对的事情,自己做了决定将来不要后悔就好了。其实我蛮推荐考研的,学历在社会上影响很大。工作几年的大佬回去考研的也有,本科和研究生在这个社会还是存在差距的,入职同一个公司最开始的时候本科的薪资就是比研究生低,即使你能力再强,在社会福利方面学历更是重要。最后在选择之前多问问自己:将来是否会后悔? 2.春招的前期准备 重点:最好参加秋招,岗位最多,春招是秋招的补录,所以打
2021-03-26 02:14:20
1361
6
原创 Mysql事务
一、事务定义 事务(Transaction ):一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务 一个完整的业务需要批量DML(数据操纵语言 insert、update、delete) 语句共同联合完成 事务只和DML语句有关,或者说DML语句才有事务。这个和业务逻辑有关,业务逻辑不同,DML语句的个数不同 二、事务的四大特性(ACID) Automicity:原子性,事务是最小的执行单位,不允许分割。 Consistency:一致性,数据库从一个正确的状态变化到另一个正确的状态; Iso
2021-03-18 01:05:55
4287
1
原创 Spring AOP-代理模式
Spring AOP代理模式 在OOP的对象中,做日志记录,权限校验等如果都让面向对象来做,会产生大量冗余代码。所以引入切面去织入相关逻辑。面向切面编程使用代理模式 一、代理模式 官方定义:为其他对象提供一种代理以控制对这个对象的访问。 代理类是在之前类的基础上做了一层封装。java中有静态代理、JDK动态代理、CGLib代理。 静态代理指的是代理类是在编译期就存在的,动态代理指代理类在运行期动态生成。 二、静态代理 程序在运行之前就已经知道代理类和被代理类的关系。 定义一个公共接口 定义被代理类 定义代
2021-03-15 12:13:46
159
1
原创 volatile关键字
1.volatile简介 synchronized是阻塞式同步,线程竞争下升级为重量级锁 volatile是轻量级锁, 线程对volatile变量的修改会立刻被其他线程所感知,不会出现脏读从而保证“可见性” 被volatile修饰的变量能够保证每个线程能够获取该变量的最新值,从而避免出现数据脏读的现象。 2.volatile的作用 2.1 保证内存可见性 线程的共享变量都存储在主存中,每一个线程都有独有的工作内存,线程操作的变量是从主存中拷贝过来的副本放入工作内存,有一个工作内存中的副本发生变化就会刷回主
2021-03-10 17:30:26
115
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人