自定义博客皮肤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)
  • 资源 (2)
  • 收藏
  • 关注

原创 aop相关

AOP方案写死代码静态代理动态代理:JDK和CGLIBSpring AOPSpring+AspectJ静态代理代理类和被代理的类实现了同样的接口,代理类同时持有被代理类的引用,这样,当我们需要调用被代理类的方法时,可以通过调用代理类的方法来做到package com.example.kafka.tes;import com.example.kafka.tes.service.UserService;import com.example.kafka.tes.se

2021-11-08 16:06:06 813

原创 redis可重入锁

package com.example.demo.util;import org.springframework.boot.autoconfigure.data.redis.RedisProperties;import redis.clients.jedis.Jedis;import java.util.HashMap;import java.util.Map;/** * @Author: lihaozhen * @Date: 2020/6/20 23:12 * @Descriptio

2020-06-20 23:41:38 529

原创 redis锁-注解版

Redis实现分布式锁利用 SETNX 和 SETEX基本命令主要有:SETNX(SET If Not Exists):当且仅当 Key 不存在时,则可以设置,否则不做任何动作。当且仅当 key 不存在,将 key 的值设为 value ,并返回1;若给定的 key 已经存在,则 SETNX 不做任何动作,并返回0。SETEX:基于SETNX功能外,还可以设置超时时间,防止死锁。项目图 代码实现application.yml# Redis数据库索引(默认为0)spring.redis.

2020-06-05 17:57:40 804

原创 LRU缓存实例

一、什么是 LRU 算法LRU算法又称最近最少使用算法,它的基本思想是长期不被使用的数据,在未来被用到的几率也不大,所以当新的数据进来时我们可以优先把这些数据替换掉。代码实现/** * @Author: 李浩真 * @Date: 2020/6/5 12:40 * @deprecated :LUR缓存(最近最少使用)的简单实现 */public class LRETest { public static void main(String[] args) { //true

2020-06-05 12:52:39 343

原创 使用rocketMQ进行通信

需求:确定两个平台之间能够正常通信,以及业务模块在绑定授权码后像控制平台发送一条消息代码实现:application.ymlrocketmq: name-server: 199.199.199.199:9876;199.199.199.199:9876 #name-server: 127.0.0.1:9876 producer: group: sveco-shortvideo-be-parent-dev send-message-timeout: 30000 #发送

2020-06-05 10:59:50 660

原创 对请求的参数进行验签

需求描述:前端发起请求的参数携带sign=xxxx,后台验证签名是够正确sign签名生成规则:1.将post请求的body转成jsonstring (按照body里key的自然升序排列),得到stringA,即: “reqBody=jsonstring"2.对字符串stringA="reqBody={jsonstring}" 2.对字符串stringA="reqBody=jsonstring"2.对字符串stringA="reqBody={jsonstring}”, stringB=“cpToken=

2020-06-05 10:11:20 1622

原创 用策略模式处理不同订单的业务流程

策略模式的核心是要把频繁发生变化的部分封装起来,作用是把变化部分的影响隔离开,避免局部的变化对其它fixed部分造成影响,设计时可能需要更多的时间,但便于维护、复用与扩展(我的目的就是为了解决sql查出订单类型,不同的订单类型,走不同的处理流程)VO类@Datapublic class OrderVo { /** * 订单id(自增主键) */ private String id; /** * 总价 */ private Bi

2020-06-04 13:35:42 1659 1

原创 用map做缓存

需求:公共层写一个map,用来做数据缓存(没有redis)代码实现import java.util.Map;import java.util.concurrent.ConcurrentHashMap;/** * @Author: 李大本事 * @Date: 2020/6/1 11:27 */public class MemoryCacheUtils { private static Map<String, CacheData> CACHE_DATA; sta

2020-06-03 13:25:42 2300 1

原创 前后端传递参数不一致

描述:实体类有一个字段deviceId,前端传递参数为device_id目录结构目录结构

2020-06-03 12:25:14 3339

strategy_pattern.rar

策略模式demo-处理不同订单类型的订单-->策略模式的核心是要把频繁发生变化的部分封装起来,作用是把变化部分的影响隔离开,避免局部的变化对其它fixed部分造成影响,设计时可能需要更多的时间,但便于维护、复用与扩展

2020-06-04

annotation.rar

前端传递参数和后端不一致,如前端传id_s,后端Vo中定义的是id,只需要将注解@ParamName("id_s")添加到id上即可

2020-05-26

空空如也

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

TA关注的人

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