自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql查询层级结构数据

场景:因业务需要,查询某个菜单节点下的所有子菜单数据。表结构: `id` int(11) 菜单id `father_id` int(11) '父级菜单id', `name` varchar(32) '菜单名称', `level` tinyint(2) '菜单级别,1、2、3..',数据结构:查询SQL实现方式:SELECT id,`name`FROM ( SELECT t1.id,t1.`name`, IF(FIND_IN_SET(father_id,@pid

2021-02-25 12:34:38 1662

原创 head first 23个设计模式总结

文章目录<Head First设计模式>总结根据GOF四人组对设计模式的总结划分,设计模式分为三大类:创建型:涉及到对象实例化,这类模式都提供一个方法,将客户从所需要实例化的对象中解耦结构型可以让你把类或者对象组合到更大的结构中行为型涉及到类和对象如何交互及分配职责创建型工厂方法描述:定义了一个创建对象接口,由子类决定实例化类是哪一个。工厂方法将类的实例化推迟到了子类。结构:抽象工厂方法描述:用于提供一个创建一系列或相关依赖对象的接口,而无需指定他

2021-02-24 14:42:28 972

原创 java常见设计模式介绍

文章目录常见设计模式介绍原型模式适用场景运用场景代理模式CGLib 和 JDK 动态代理对比Spring 中的代理选择原则静态代理和动态代理的本质区别代理模式的优缺点委派模式代理模式、委托模式、策略模式之间区别策略模式应用场景运用场景策略模式的优缺点模板模式适用场景模板模式的优缺点适配器模式应用场景适配器模式的优缺点装饰者模式适用场景装饰者模式和适配器模式对比装饰者模式的优缺点观察者模式应用场景观察者模式的优缺点各种设计模式的总结与对比GoF 23种设计模式GoF 23种设计模式的归纳和总结设计模式之间

2020-07-20 16:32:37 205

原创 Java常见单例模式

文章目录Java常见单例模式饿汉式懒汉式内部类单例模式实现注册式单例模式枚举式单例容器式单例Java常见单例模式单例模式就是为确保一个类只有一个实例,减少了内存的开销,避免了资源多重占用,并为整个系统提供一个全局访问点的一种方法饿汉式饿汉单例模式在类加载的时候就立即初始化,并且创建单例对象。它绝对线程安全,在线程还没出现以前就实例化了,不可能存在访问安全问题。优点:没有加任何锁、执行效率比较高,用户体验比懒汉式单例模式好。缺点:类加载时候就初始化,不管是否使用都占用空间,浪费内存。// 常

2020-06-30 16:41:14 131

原创 Mybatis 注解 @Many 一对多 传递多个参数问题

Mybatis 注解 @Many 一对多 传递多个参数问题如果@Many调用的方法需要传递空值,那么就不写该参数值。column 参数写法 :{@Param 名称 = column 字段名 , @Param 名称 = column 字段名 ...}以逗号隔开示例:方法不重要,重要的是使用方式/** * 查询所有1级与2级菜单信息 * * @return */ @Select(" SELECT * FROM z_function_menu WHERE

2020-06-29 15:29:49 766

原创 Redis构建自动补全功能案例

文章目录Redis构建自动补全功能案例方法一更新用户最近联系人自动补全联系人删除最近联系人方法二实现步骤步骤二解析最终实现Redis构建自动补全功能案例本篇文章有两种方式来构建自动补全功能:方法一 通过使用联系人列表来记录用户最近联系过的100个人,并尝试尽可能减少实现自动补全所需的内存。方法二 自动补全则为更大的联系人列表提供了更好的性能和可扩展性,但是所花费的内存较多一点。方法一场景:模拟用户在客户端输入聊天对象时,会自动补全显示用户已经输入过的聊天对象名称。Redis主要用于记录联系

2020-06-13 18:09:25 177

原创 软件架构设计之基础原则

文章目录软件架构设计原则开闭原则依赖倒置原则单一职责原则接口隔离原则迪米特原则里氏替换原则合成复用原则软件架构设计原则开闭原则开闭原则是指一个软件实体(如类、模块、和函数)应该开放扩展,关闭修改。它强调的是用抽象构建框架,用实现扩展细节,可以提高软件系统的可复用性及其可维护性。列如用于版本更新,尽可能不修改源码,但可以增加新功能。通过实现男人这个人,如果男人突然可以变成超人,我们可以不修改原有的代码,实现超人这个能力。依赖倒置原则依赖倒置原则是指设计代码结构时,高层模块不应该依赖底层模块,二者

2020-06-08 12:46:09 154

原创 Redis事务基础讲解

文章目录Redis事务事务相关命令Redis为什么没有实现加锁功能非事务型流水线性能方面的注意事项Redis事务事务相关命令DISCARD取消事务,放弃执行事务块内的使用指令。MULTI标记一个事务块的开始。EXEC执行索引事务块内的命令。WATCH监视一个(或多个)key,如果事务执行之前这些key被其他命令所改动,那么事务将被打断。UNWATCH取消WATCH命令对所有key的监视。UNWATCH命令可以在WATCH命令执行之后,MULTI命

2020-05-27 21:26:18 89

原创 Redis处理系统故障相关操作

文章目录处理系统故障验证快照文件和AOF文件更换故障主服务器处理系统故障  如果将Redis作为应用程序的唯一数据存储,那么就必须确保Redis不丢失任何数据,跟提供了ACID保证的传统关系数据库不同,在使用Redis为后端构建应用程序时,用户需要多做一些工作才能保证数据一致性。ACID是指原子性(atomicity)、一致性(consistency)、隔离性(isolation)、耐久性(durability)验证快照文件和AOF文件  Redis提供了两个命令行程序用于检查AOF文件和快照

2020-05-26 12:54:23 102

原创 Redis复制特性

文章目录复制特性详细介绍Redis复制的启动过程注意主从链检查硬盘写入复制特性  Redis采用了一个主服务器(master)向多个从服务器(slave)发送更新,并使用从服务器来处理所有读请求。这种复制特性也是性能扩展的一种手段。SUNIONSTORE 命令作为对Redis性能的一个参考。其命令含义:将给定集合的并集存储在指定的集合 destination 中。如果 destination 已经存在,则将其覆盖。详细介绍  当从服务器连接主服务器的时候,主服务器会执行BGSAVE操作。为了保

2020-05-18 21:40:33 224

原创 Redis持久化选项

文章目录Redis持久化选项快照持久化创建快照的方式快照持久化场景AOF持久化appendfsync 选项及同步频率重写/压缩AOP文件Redis持久化选项  Redis提供了两种持久化方法来将数据存储到硬盘里面。一种方法叫快照(snapshotting),它可以将存在某一时刻的所有数据都存储在硬盘里面。另外一种放叫只追加文件(append-only file AOF),它会在执行命令时将被执行的命令复制到硬盘里面。两种方法能同时使用,也可以单独使用快照持久化创建快照的方式客户端通过向Redis

2020-05-18 21:39:05 159

原创 堆和优先队列

文章目录二叉堆的实现自定义Array 实现:自定义堆 MaxHeapHeapfiy 将数组转换为二叉堆优先队列----二叉堆实现LeetCode 347 前 K 个高频元素二叉堆的实现普通队列:先进先出,后进后出优先队列:出入顺序与入队顺序无关;和优先级相关玩转数据结构—慕课网波波老师堆的基本结构:堆中的某个节点的值总是不大于父节点的值。索引从0开始的话:parent(i...

2019-11-13 21:29:03 90

原创 二分搜索树的学习

二分搜索树基础模块学习通过对慕课网bobo老师讲解的二分搜索树的总结 玩转数据结构二分搜索树的前序遍历 /** * 二分搜索树的前序遍历 * @param node */ private void preOrder(Node node) { if (node == null) { return;...

2019-11-01 12:56:59 111

空空如也

空空如也

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

TA关注的人

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