自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Volatile笔记小记

从上面CPU的缓存一致性协议MESI中,保证各个CPU核心的缓存一致性,就是当一个CPU核心中缓存的数据被modify了,他会去同步其他CPU缓存的数据,并且等待其他CPU核心同步成功的一个ack,这样才能最终保证一致性。由于CPU的高速缓存问题导致了指令的重排序而引发了可见性问题,通过Volatile关键字来对读,写进行加锁而让CPU直接进行内存读取数据不是用缓存的数据来进行处理,相当于对缓存加了一层屏障,不让cpu去访问。S:Shard,共享,表示多个CPU核心之间都存在该数据的缓存。

2020-06-13 16:03:49 393

原创 synchroinzed

synchroinzed假如有两个线程ThreadA/ThreadB只有ThreadA去访问(大部分情况是属于这种) ->引入了偏向锁ThreadA的ThreadId、每次线程A进来判断ThreadId是否一样,在判断偏向锁标记是否为1ThreadA和ThreadB交替访问->轻量级锁->自旋多个线程同时访问 ->阻塞。(挂起,等待获得锁)在我们程序中我们怎么知道当前上面3种场景是哪种情况呢,只能通过升级锁的方式来达到,升级锁的顺序为:偏向锁 -&g

2020-06-03 17:34:09 260

原创 装饰者模式-通过我们吃面条的例子来实现装饰者模式

装饰者模式装饰者模式是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(拓展原有对象的功能)属于结构型模式。装饰者模式,听名知其义-装饰,那我们怎么理解这个装饰呢,例如我们在修房子的时候,我们修好房子的毛坯,装修就是我们装饰者模式的一种定义,它再怎么装修的漂亮,也是叫房子,不会变成另一个东西。还有就是我们再去吃东西的时候,比如我们吃面,我们肚子很饿,吃一碗不够,...

2019-03-23 19:43:29 216

原创 模版方法模式-用模版方法模式实现我们每个人生活步骤的小例子

模版方式模式模版模式就是把一次性实现一个不同的逻辑(算法),并将可变的行为留给子类来实现各子类公共的部分的行为被提取出来并集中到一个公共的父类中,从而避免代码重复。模版方法模式的父类,一定要用抽象类,因为我们模式方法模式最主要的是让我们相同的代码逻辑只编写一次,不同的逻辑让子类完成,当然在JDK1.8中我们的接口也可以有自己的模式的实现方法。我们也可以用1.8的接口来实现。比如我们在生活中...

2019-03-17 16:17:08 223

原创 策略模式(用策略模式实现我们淘宝,京东,美团等等简易满减活动)

策略模式源码地址:https://github.com/LiJiaHa0/pattern-strategy.git策略模式是指定义了多个算法,称为算法家族,分别封装起来,让它们之间互相替换,此模式让算法的改变不会影响到使用算法的用户。可以避免多重if…else和swich语句。在我们平时生活中,比如在超市购物时,超市有时会根据我们的会员分打折你所需要购买的商品的总价,会员分满100分打9....

2019-03-16 18:54:32 2006

原创 委派模式的实例介绍

委派模式委派模式的基本作用就是负责任务的调度和分配任务,跟代理模式很像,可以看做是一种特殊情况下的静态代理的全权代理,但是代理模式注重过程,委派模式注重结果。不属于GOP23种模式之一,属于行为模式。在我们工作中,最常见的一种情况就是,当我们公司老板想做一个东西,他要找到我们项目经理发送一个命令,然后我们项目经理接受到这个命令的时候,项目经理会根据这个东西来进行对团队里面的员工来分配。所以,我...

2019-03-15 23:56:20 543

原创 代理模式(静态代理、JDK代理、cglib代理)的简单用法

代理模式代理模式分为:静态代理,JDK代理,cglib代理。代理模式主要目的是我们需要做的事,本身不想做,然后交给一个代理去做,然后我们又可以在代理中对过程进行增强处理。我们通过这个代理类对我们需要代理的类控制访问,代理对象在客户端和目标对象的一个中介。下面我们用一个例子来说明代理模式:我们在学校中每个人都要吃饭,某一天我突然中午有事,或者太懒,不想去买饭吃,想让同学代我去买饭,这个时候同学...

2019-03-14 22:08:31 387

原创 工厂模式说明(简单工厂、工厂方法、抽象工厂)

工厂模式我们一般常用的有简单工厂模式、工厂方法模式、还有抽象工厂模式,从业务上的不同,我们需要选择不同的工厂模式,不同的工厂模式复杂度有所不同。工厂模式就是把我们需要把产品(例如spring中我们所需要的bean)的创建隐藏起来,是我们客户(客户端、应用层)不可见,当我们是需要使用时,只管取,不需要知道是怎么生产出来的。这样的好处就是不需要每一个客户想要一个产品时不用自己去新建制造。下面我们用...

2019-03-10 16:17:41 456

原创 单例模式的说明以及各个不同的单例模式的演示

单例模式:一个类模板,在整个系统运行过程中,只允许产生一个实例(有且只有一个对象)new例如:工厂模式中的配置文件,日历…。实现单例模式的技术方案:饿汉式、懒汉式、注册登记式、枚举式、序列化与反序列化方式饿汉式:在使用实例之前,不管你用不用,我都先new出来,避免了线程安全问题。代码演示懒汉式:在使用实例之前,不管你用不用,我都先new出来,避免了线程安全问题。代码演示懒汉...

2019-03-03 18:30:11 218

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除