自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zlj1217的博客

慢慢加油

  • 博客(10)
  • 收藏
  • 关注

原创 设计模式——策略模式的学习

策略模式定义一系列的算法,把每一个算法封装起来,并且使它们可以相互替换。这个模式中使得各个算法可以独立于使用它的客户而变化。策略模式的构成: 1.抽象策略角色:策略类,通常由一个接口或者抽象类实现。 2.具体策略角色:包装了相关的算法和行为,实现策略接口或继承抽象类。 3.环境角色:context,运行时持有一个策略类的引用,最终给客户端调用。 对应的uml图片为: 策略模式让...

2018-07-27 00:50:56 2871 3

原创 idea中maven配置及时拉取snapshot的更新

场景提供dubbo服务依赖的服务打的是snapshot的包,这里提供依赖的服务重构了接口中的两个方法,所以又去deploy打了包,这里叫我去 reimport 拉下包去拉到他打包的更新这个时候发现reimport之后却参数一直没发生变化。问题所在及解决办法这里发现是idea中的maven配置中有个这个配置: 把这个选项勾上之后再次reimport即可。这里去记录一下...

2018-07-25 21:16:52 33290 5

原创 Java8新特性之——Optional

Optional是在Java8中提供的一个容器对象。其提供了一个Optional.empty容器来代替一些方法的返回值的null,并且也让api一看就知道返回值的对象要去判断容器中是否存在值。并且Optional类中包含了一些方法来处理值是否存在的状况,比如调用之后如果是空的可以返回一个统一的处理或者抛出一个统一捕获的异常。首先来看一些方法的解释:- of方法。of方法通过工厂方法创建Option...

2018-07-10 21:10:48 227

原创 线程通讯之循环打印abc

循环打印abc有很多方法,这里去记录一种用条件变量condition去写的一种实现方法。package communication;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock...

2018-07-10 11:01:46 231

原创 并发容器之CopyOnWriteArrayList

前言Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArray...

2018-07-08 16:38:25 141

原创 数据库及缓存一致性分析

首先说明一个观点:如果对数据一致性要求很高的话就不要存放缓存了,因为只要涉及到数据库和缓存双写就会造成一致性的问题。最简单一个一致性保持方法就是依赖缓存的一个过期时间去击穿保证数据一致性,但是这会导致在缓存失效到缓存重新存入这段时间内数据库一个压力(因为缓存一个场景就是环境数据库的压力),这里介绍几种不单单依赖失效时间来解决数据库和缓存数据一致性的方法及其分析。1.先更新数据库,再更新缓存这个策略...

2018-07-06 18:10:17 992

转载 spring cache学习(二)实现spring-Redis-caffeine 二级缓存

在开源中国上看到了对springcache实现二级缓存一篇不错的文章,这里转载一下,自己后边实现之后再去补充其中的点https://my.oschina.net/dengfuwei/blog/1616221

2018-07-06 11:52:47 3382

原创 spring cache学习(一):spring cache注解简单了解

  最近了解到spring cache非常方便的对一些方法的结果值做了缓存,结合spring boot中的注解使用更加方便,这里去学习一下。在做分类视图可配置化时,发现组织架构的接口加了@cacheable注解,这里就去了解一下spring的cache支持。1.相关注解spring boot cache 提供了一些注解方便做cache应用。(1)@CacheConfig:主要用于配置该类中会用到的...

2018-07-05 15:46:03 31374 6

原创 mockito框架简单学习

mock框架有很多,这里去学习了mockito框架在日常开发中的使用以及一些使用注意事项简单使用1.stub打桩测试,通过触发定义好的stub描述条件,返回需要我们的行为2.spy 和 mock的区别 1.mock是针对类或接口,生成对应的代理对象。 如下述List接口 2.spy是基于真实对象来生成对应新代理对象 如下述是真实的ArrayList对象但用mock居多3.每...

2018-07-03 16:47:27 1576

原创 redis做自旋锁及相关测试

redis的setNx命令可以获取redis中的锁,这里见到了一种自旋锁的写法。redis可以去做分布式锁,但要注意锁的粒度,和最后删除时网络抖动的影响。其中封装自旋锁的好处:可以在一个线程中重试的去获取锁,减少线程上下文切换带来的性能消耗,但要注意自旋锁重试次数的合理设置,过大会造成cpu占用率过大。/** * redis单点获取锁 线程sleep获取自旋锁 注意retryTimes设置的合理...

2018-07-03 16:42:59 6320

空空如也

空空如也

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

TA关注的人

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