03 2018 档案
摘要:引言:让我们重温经典,致敬经典 开放封闭原则:对扩展是开放的,对修改是关闭的 做到这个在刚开始的时候是不容易的,在刚开始是不会变化的,当发生变化的时候,我们应该创建抽象来隔离以后发生的同类变化。 举个栗子来解读上面这句话: 好比有个人,他刚开始会的技能只有唱歌,后来他又会了跳舞,再后来又会了写bug
阅读全文
摘要:引言:让我们重温经典,致敬经典 简单工厂模式:根据调用端传参来有选择的实例化目标对象。 UML类图: 我们知道简单工厂就是为我们生成我们需要的对象。 举个栗子: 我们在舞台看表演的时候,一场场表演下来,我们可以总结个流程,舞台 表演1 ,表演2,表演3 。。。 结束。抽像为舞台 表演 结束。其实啊我
阅读全文
摘要:引言:让我们重温经典,致敬经典 装饰模式:动态的给一个对象添加一些额外的职能,就增加功能来说,装饰模式比生成子类更加的灵活 UML图: 总结:装饰模式是为已有功能动态的添加更多功能的一种方式,把每个要装饰的功能放在一个单独的类里面,并让这个类去包装它所要装饰的对象,每个装饰类只需要关注自己要实现的功
阅读全文
摘要:背景:目前正在迭代开发的项目,应用户要求新增一个电子文档转换的功能,即将不标准的excel文件转换为标准的excel文件(标准模板)。 选择:pio ,本项目里面本来就有poi的jar包 问题:项目里的poi的相关jar包版本较低,在使用wps保存过的excel文件,在读取的时候会发报错,使用微软的
阅读全文
摘要:最近同事出去面试,有个关于将字符串数组中的字符串按出现次数排序按从大到小,要求5分钟之内写出来。很尴尬,没有写出来。我也来一次回顾吧 对于这种: 或者这种 其实都是一样的。 第一种实现: 思路:1.将其转化为数组,2.定义一个map,key为字符/字符串的值,value为出现的次数 3.将map的v
阅读全文
摘要:首先来说下事务,说到事务就不得不说它的四个特性(acid): 一、特性 1.原子性(atomicity):一个事务当作为一个不可分割的最小工作单元,一组操作要么全部成功,要么全部失败。 2.一致性(consistency):必须使数据的一个一致性状态变成另一个一致性状态。举个例子,A和B共有1000
阅读全文
摘要:第一种:使用Redis做缓存,将数据存储到redis数据库中 第一步:在项目里面引入redis,配置文件如下: 配置文件:spring_shiro_redis.xml redis的配置文件redis.properties: 下面是spring-shiro.xml 第二步:定义自己的CacheMana
阅读全文
摘要:最近在使用shiro缓存用户的身份信息的时候,报了simpleByteSource不能序列化,跟进源码一看,原来这个类没有实现序列化的接口,但是我在缓存身份信息的实现又要用到这个类,解决方法:重写一个类,模仿着SimpleByteSoure这个类,写个自己的类。并且实现序列化接口即可·。 在自己的实
阅读全文

浙公网安备 33010602011771号