ren814的博客

私信 关注
北九道
码龄5年
  • 56,272
    被访问量
  • 35
    原创文章
  • 118,127
    作者排名
  • 8
    粉丝数量
  • 于 2015-12-21 加入CSDN
获得成就
  • 获得19次点赞
  • 内容获得32次评论
  • 获得35次收藏
荣誉勋章
兴趣领域
  • #后端
    #Spring Boot#架构#MySQL#Redis#Java#分布式#Python#Linux#Spring
TA的专栏
  • Git
    1篇
  • Mybatis缓存
    1篇
  • 笔记
    1篇
  • Nacos
    1篇
  • java
    1篇
  • java thread TimerTask
    1篇
  • IDEA
    1篇
  • get
    1篇
  • set
    1篇
  • 快捷键
    1篇
  • java工具类
    1篇
  • Nginx
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

Mybatis多次执行Insert、update、select出现的数据不一致问题

场景: Result result = mapper.select(); mapper.insert(); Result result1 = mapper.select();问题: 会出现result和result1俩个是同一个值。 result从DB查询, result1直接从缓存中获取,但是insert执行了insert,result没有获取到。问题延伸: 在一个场景中,对一个数据进行反复的插入,查询使得数据没有同步,mybatis...
原创
31阅读
0评论
0点赞
发布博客于 3 月前

@Validated不生效

参数校验不生效问题:1、查看对应的入参Obj注解了没2、对应的参数或者方法注解查看有误没,因为和@Valid俩个在注解的地方上有区别3、在DTO也就是入参的Obj,里面对应的注解参数一定是个Object,例如:注解在int上就不生效,Integer就可以!...
原创
870阅读
0评论
0点赞
发布博客于 4 月前

Git: error:filename in tree entry contains backslash

Giterror:filenameintreeentrycontainsbackslashgit文件名中有反斜杠,还有可能就是空格,导致的反斜杠。解决方案:gitconfig --global core.protectNTFS false然后关掉git bash ,重新打开,再拉代码!...
原创
323阅读
0评论
0点赞
发布博客于 5 月前

Redis文档整合【基础和集群分布式原理】

********因涉及有其他博主的文章整合,仅仅作为学习使用,如有侵权,联系本人删除***********一、Redis简介Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库。它支持多种类型的数据结构,如字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sorted sets)与范围查询,bitmaps,hyperloglog...
原创
24阅读
0评论
0点赞
发布博客于 5 月前

Mybatis缓存原理及具体源码剖析(整合别人博客)

Mybatis缓存原理一、缓存简介缓存是MyBatis里比较重要的部分,目的就是提升查询的效率和减少数据库的压力,有两种缓存:SESSION或STATEMENT作用域级别的缓存,默认是SESSION,BaseExecutor中根据MappedStatement的Id、SQL、参数值以及rowBound(边界)来构造CacheKey,并使用BaseExccutor中的localCache来维护此缓存。全局的二级缓存,通过CacheExecutor来实现,其委托TransactionalCach
原创
22阅读
0评论
0点赞
发布博客于 5 月前

Redis缓存穿透、缓存雪崩、缓存击穿

Redis缓存穿透即查询一个并不存在的id的数据,会导致每次查询的时候,redis中没有具体的对应的数据,从而在DB中查找,恶意请求,会出现大量的访问DB的场景,从而加大DB的压力。解决方案:为不存在的ID在redis中设置值,同时为对应的key设置失效时间。建议将失效时间设置短一些,保证不会太大影响到redis。Redis缓存雪崩该场景主要是在对缓存中的大批量数据设置了同一时间失效,导致在同一时间内,redis缓存中的数据过期,使得全部访问DB,DB的压力增大。解决方案:将各个数据的k
原创
27阅读
0评论
0点赞
发布博客于 7 月前

Redis做分布式锁--- 基于SETNX

Redis做分布式锁的原理:SETNX命令(SET if Not eXists)当且仅当 key 不存在,将 key 的值设为 value ,并返回1;若给定的 key 已经存在,则 SETNX 不做任何动作,并返回0。可以利用该命令,在对应的业务代码中做锁处理。加锁,即,setnx,返回1,表示加锁成功,返回0,表示该段业务被上了锁。在被锁的业务中进行循环获取,直至锁释放。在加锁业务代码执行完毕之后,delete该key,释放对应的锁。同时,要注意:1、在redis做集群的
原创
35阅读
0评论
0点赞
发布博客于 7 月前

Spring加载一个单例模式的类到beanFactory

案例:在Spring项目中,一个单例模式的类被@Component注解,在构造方法中启动了一个定时任务。结果:定时任务会执行俩遍。原因:在构造单例模式类的时候,用了static Instance instance = new Instance();然后故事就开始了,因为static静态修饰在类加载的时候就会执行一遍构造方法,而后Spring在加载bean的时候,又实例化一次,从而导致构造器中内容被执行俩次!解决方案:取消单例,Spring的bean默认都是单例。或者直接定时器写到method-i
原创
186阅读
0评论
0点赞
发布博客于 9 月前

辞职申请

芳菲四月,沪上花开。萧瑟红尘,霍乱四起。赳赳老秦,辞呈归陕。任,开发一职,协助报关完善。得,张工赏识,参与系统开发。受,山峰指导,解决外场台账。然,老陕归故里,难舍双亲之挂牵,虽万般不舍,但,大义当前,伟,任性不得,故而特向公司提出辞呈,望领导理解,批准!山高水长,江湖路远,愿再见之日,我已妻儿老小,公司扶摇直上九天!...
原创
103阅读
0评论
0点赞
发布博客于 1 年前

SpringBoot 批量下载阿里云文件,打ZIP包(URL,非OSS)

刚遇到个需求,批量下载文件(这边用的阿里云的文件存储,所以有的都是文件的URL,不限文件类型)下面是代码:Controller:@GetMapping("download") @ApiOperation("文件下载") public void download(@ApiIgnore @RequestParam String[] urls, HttpServletR...
原创
454阅读
2评论
0点赞
发布博客于 1 年前

SpringCloud + Gateway + Nacos, 服务注册在Nacos后,出现nacos后台服务列表有时候刷不出来服务,导致服务失效。

在服务注册时候,发现,刷新nacos后台,会出现服务有时候没在列表中,再次刷新又会重新出来导致注册的服务在过网关的时候无法使用服务:解决方案:---更改配置文件主要是在配置中指定注册的Nacos的ip就可以完美解决该问题。...
原创
6174阅读
12评论
1点赞
发布博客于 1 年前

【Java】-【面试】-【Java基础】

一、集合二、线程三、设计模式四、JVM
原创
46阅读
0评论
0点赞
发布博客于 1 年前

【Java】-【面试】-【Java进阶】

一、分布式1、分布式锁2、分布式ID3、分布式事务
原创
56阅读
0评论
0点赞
发布博客于 1 年前

MySQL生成 时间+序号 的自定义编号 数据库层触发器实现

-----------------------------------------------建表-------------------------------------------------------CREATE TABLE orders ( sn_day DECIMAL (32) PRIMARY KEY, sn_hours DECIMAL (32), sn_m...
原创
296阅读
0评论
0点赞
发布博客于 1 年前

Java中数组行列互换

数组中的行列互换,有个前期,就是:这个数组必须是N * N的,即就是在数组 int[a][a];具体实现就是1 2 3 4 5 6 7 8 9 由上表变成下表1 4 7 2 5 8 3 6 9 贴码:public static void test03210958() { ...
原创
1254阅读
0评论
1点赞
发布博客于 1 年前
我被裁掉的那一天
发布Blink于 1 年前

CC2430的原理图及PCB文件,供大家参考设计

CC2430的PCB文件,用Altium Designer 打开。供给大家设计参考。天线部分的巴伦大家可以直接用的哦(我就是直接用的,射频效果很不错) 相应的电路图 见以下链接 http://download.csdn.net/source/2376115
zip
发布资源于 2 年前

vue-resource 通过监听键盘Enter键来发送请求,请求失败,Status=cancle(Chrome)

vue的input标签: <input type="search" class="weui-search-bar__input" v-bind:placeholder="isQueryByLike?'模糊搜索':'精准搜索'" ref="search">vue对enter键的监听:created:function(){ var that=this; ...
原创
235阅读
0评论
0点赞
发布博客于 3 年前

qrcode.js实现二维码生成---带边框解决方案

以下为解决方案, 具体实现方式:方案一:因为在网上找了很久,没有找到可以直接在qrcode.js中实现的方法,找到一个,结果是CSDN要下载的,没办法,然后就想其他办法实现,利用俩个div的嵌套,在parent中设置白色背景,在child中放置qrcode,实现伪边框。另外,我的parent和child因为还有其他的div的嵌套,未尝试,直接做是否可以,有需求的可以找其他的模板。这里只...
原创
6562阅读
3评论
0点赞
发布博客于 3 年前

常见数据库分页查询SQL

oracle数据库分页 select * from (select a.*,rownum rc from 表名 where rownum<=endrow) a where a.rc>=startrowDB2数据库分页 Select * from (select rownumber() over() as rc,a.* from (select * from 表名 ...
转载
64阅读
0评论
0点赞
发布博客于 3 年前

Java将一张图片放在另一张图片上(位置可选)

/***param qrcodePath : 最后图片保存路劲*/public static void overlapImage(String qrcodePath) { try { BufferedImage big = new BufferedImage(1080, 1920, BufferedImage.TYPE_INT_RGB); ...
原创
7985阅读
0评论
2点赞
发布博客于 3 年前

RabbitMQ简单测试

版本pom<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>3.6.5</version></depend
原创
658阅读
0评论
0点赞
发布博客于 3 年前

Nginx配置使用说明

Nginx:Nginx在服务器中主要是扮演一个反向代理和负载均衡以及web缓存。反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展...
原创
50阅读
0评论
0点赞
发布博客于 3 年前

【好的博文链接】

集群、分布式、负载均衡区别https://www.cnblogs.com/xzwblog/p/7255364.htmljava 分布式与集群的区别和联系https://blog.csdn.net/LiZhen314/article/details/73794527windows下 安装 rabbitMQ 及操作常用命令https://www.cnblogs.com/ericli...
原创
66阅读
0评论
0点赞
发布博客于 3 年前

获取富文本内图片的地址,上传到服务器,并改图片src为本服务器地址

String content = "<img > .............";String regEx_img = "<img\\s[^>]+>"; Pattern p_image = Pattern.compile(regEx_img, Pattern.CASE_INSENSITIVE); Matcher m_image = p...
原创
2160阅读
0评论
0点赞
发布博客于 3 年前

java常用的util工具:自用

package com.xray.cms.util;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java....
原创
1509阅读
0评论
0点赞
发布博客于 3 年前

URL链接转二维码图片

/* * 请求二维码图片流 */ public void openQrcode(){ String url = getPara("link"); if(StringUtil.isEmpty(url)) { logger.error("auto instructions,openQrcode err param,u...
原创
3402阅读
3评论
1点赞
发布博客于 3 年前

Java通过摄像头捕捉人脸识别和已有的照片进行相似度比对(OpenCV + face++)

好像是face++,又好像不是,具体的忘记了,为了以后自己可以好找代码:package com.common.face;import java.io.ByteArrayOutputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java....
原创
7884阅读
5评论
1点赞
发布博客于 3 年前

安卓将URL链接生成二维码保存到本地相册

/**context不解释;url:要转二维码的链接;width,height也不解释;originalid:二维码图片的名字*/public static String createQRImage(Context context, String url, final int width, final int height, String oirginalid) { try { ...
原创
1365阅读
0评论
0点赞
发布博客于 3 年前

Mybatis一对多或多对多只能查出一条数据解决策略

<resultMap id="menuModelMap" type="com.yyzq.springboot.model.MenuModel" > <id column="id" property="id" jdbcType="BIGINT" /> <result column="menuname" prope
原创
3146阅读
2评论
3点赞
发布博客于 3 年前

MySQL多对多表关系删除策略

菜单表:CREATE TABLE `es_menu` (  `id` bigint(20) NOT NULL auto_increment,  `menuname` varchar(24) NOT NULL,  `sort` tinyint(4) NOT NULL,  `inputtime` datetime NOT NULL,  PRIMARY KEY  (`id`)) ENGI...
原创
2365阅读
0评论
1点赞
发布博客于 3 年前

IDEA利用快捷键生成getter、setter-------Alt+insert 出现了 Generator->Copyright

有个小坑,一定注意,否则很sb,就是你在利用Alt+insert快捷键的时候,一定要注意你的光标在哪里,切记,要把光标放在类中,否则只会出现Generator->Copyright,一定放在类中。...
原创
4116阅读
5评论
9点赞
发布博客于 3 年前

做个一个多线程的TimerTask的跑动,内嵌多个子线程

需求:    List中有诸多数据,根据某一字段的区分,得到新的n个子List,对每个子List进行一个线程的跑动,每个子List中有诸多对象,每个对象做一个定时器,每2s执行一次,30s内无执行结果则退出。然后定时器时间的长短,根据每个对象处理的速度来定。诸如:处理一个对象时间预设定为30s,5个为150s,处理完一个对象,则在时间上减30s。额,上代码吧,好累。package com...
原创
805阅读
0评论
0点赞
发布博客于 3 年前

poi根据树型结构数据<;List>;嵌套画Excel表格

是帮别人做了东西,然后顺便发到这个上面,为以后也提供方便。现有List&lt;Node&gt;,具体多少级,不详;最后需求:其内的数据为每个node的id;具体实现代码如下:public class Node { private String id; private String pid; private List&lt;Node&gt;...
原创
624阅读
0评论
0点赞
发布博客于 3 年前

关于javaweb中对页面访问的一些想法

首先,因为这俩天在把工作干完了之余,在看一些spring boot的问题。今天就碰到了很多,因为是第一次搭建,总之就是各种问题出现,当然,也不是什么大问题,都是一些小的配置的问题,关于版本问题的话,主要就应该是jdk的版本问题,其他的jar什么的因为用了maven,所以没出太大问题。在搭建过程中,时间长的是页面访问路径问题,又或者说是spring boot在对引擎模板的使用问题,就是我们要讲的...
原创
97阅读
0评论
0点赞
发布博客于 3 年前

Spring Boot--- Maven:java.lang.UnsupportedClassVersionError

java.lang.UnsupportedClassVersionError: javax/annotation/ManagedBean : Unsupported major.minor version 51.0出现以上错误,1、修改一下编译工具的jdk版本就好。我这边是这样处理的。在查阅的时候也有发现修改pox.xml2、对pom.xml修改&lt;properties&gt...
原创
443阅读
0评论
0点赞
发布博客于 3 年前

Maven: Project configuration is not up-to-date with pom.xml

在搭建spring boot项目或者导入maven项目的时候,项目上报错,内容中找不到错误,myeclipse的problem中有Project configuration is not up-to-date 样式报错。这个错误,只要处理一下Maven ---&gt;update project configuration;eclipse右键点击项目,出现maven,然后找update...
原创
111阅读
0评论
0点赞
发布博客于 3 年前

HTML中table根据表头的拖动,改变列的排序,非行的排序

由原来的这样的样式,变为这样的: 原来的5列到了第三列;需要引入俩个js:1.drag.js2.jquery-1.1-0.2.js;html:&lt;div id="main"&gt;        &lt;table id="headTable" border="1" cellpadding="0" cellspacing="0" style=&qu
原创
1390阅读
0评论
0点赞
发布博客于 3 年前