自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 事务、分布式事务以及seata

分布式事务seata

2023-05-23 15:02:20 590

原创 使用Lua脚本创建用户token以及token续期(附带lua实现秒杀抢占库存)

使用lua保存用户token以及token续期

2023-05-16 11:26:33 746

原创 Java对象深拷贝的几种方式

java对象拷贝的几种方式

2023-05-16 10:55:53 8352

原创 微服务和领域驱动

微服务设计 领域驱动设计

2023-05-04 18:22:06 1682 1

原创 MySQL分区

可查看MySQL文件目录,这里面每个数据库对应一个子目录;

2023-03-29 21:29:47 231

原创 设计模式和类图

设计模式原则、类图、具体实现

2023-03-24 14:54:49 276 1

原创 websocket协议原理

websocket协议原理

2022-09-29 11:02:38 1855 1

原创 git rebase合并提交记录

git合并冗余提交记录

2022-09-15 16:09:56 1323

原创 PostgreSQL替换字符串中的换行符和回车符

pssql 特殊字符替换

2022-07-18 11:20:35 1879

原创 PostgreSQL中jsonb类型字段操作

1、查询jsonb字段不为nullSELECT ID, watcher :: json ->> 'processRouteWorkstations' AS workstations FROM mo_mfg_order WHERE enabled = TRUE AND mfg_order_status_enum != 'MfgOrderStatus.unReleased' AND watcher ->'processRouteWorkstations' is no

2022-03-14 14:37:52 8290

原创 elasticsearch和elasticsearch-sql安装教程

一、选定版本,参考系统当前spring boot版本,选择elasticsearch版本二、下载并安装elasticsearch查看服务是否成功打开浏览器:localhost:9200三、安装elasticsearch-sql插件进入elasticsearch目录:./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/6..

2022-02-25 12:06:35 1471

原创 mysql和pgsql非id自增表分组后取每组时间最新一条记录

SQL分组取最新一条数据

2022-01-12 11:12:34 774

原创 阿里云sls日志查询格式示例

一、关键词查询:* and content: QR2112091519001 二、加上level* and content: QR2112091519001 and (level: ERROR or level: DEBUG or level: INFO)三、多个关键字* and content: QR2112091519001 or content: 1468842678496997377

2021-12-09 15:46:36 4210 1

原创 application/x-www-form-urlencoded not support

今天在对接支付宝支付时,支付宝回调报错,显示org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported一、分析:这个问题的意思其实是,支付宝请求头和我们系统接口定义的请求头不一致导致的支付宝的请求头是application/x-www-form-urlencoded;char

2021-09-02 10:12:31 3516

原创 订单和支付项目设计

一直想把这块总结一下,东西有点多。这里的支付处理,我想分成两块,一块是订单和支付关系开发设计;一部分是支付结果的开发设计。先说第一块一、

2021-08-26 10:57:51 1643

原创 SQL语句exists和in的区别

mysql中使用in有可能导致sql长度超过限制,导致执行失败,这时候我们可以使用exits来简化sql例如:update eas_student t1 set register_status = 2 where t1.del_flag = 0 and t1.id in ( select distinct t2.student_id from eas_student_plan t2 where t2.del_flag = 0);如果子查询中的数量特别多,就会导致整个sql长度过长。

2021-08-24 11:02:28 615

原创 JAVA8 Optional教程

Optional的构造器是私有的1、无参构造器和带参的构造器都是私有,所有这个创建Optional对象类似单例模式 private Optional() { this.value = null; } /** * Constructs an instance with the value present. * * @param value the non-null value to be present * @thro

2021-07-22 16:12:36 2886

原创 实用:性能优化的几点总结

一、最基本查看sql,是否建索引,索引是否生效,走了多少条数据,一般如果走了索引,并且索引生效,基本row数据会很少,相反,成百上千上万都有可能。二、查询的数据量,ru'g

2021-06-17 15:49:17 195

原创 mysql中select update delete中间表问题

假设一张表,数据如下

2021-06-15 11:29:54 479 1

原创 mysql中count和sum结合if判断

比如有一张学生表,一张订单表问题一:统计所有的学生数和所有的男学生数select count(id) as 'total', count(if(gender = 0, 1, null)) as 'male' from student;问题二:统计订单表的订单金额,以及商品订单的订单金额select sum(order_amount) as 'total', sum(if(order_type = '01', order_amount, null)) as 'goodsOrder' fro

2021-05-18 16:34:10 267

原创 java集成opencv人脸识别

一、下载,https://opencv.org/releases/二、安装三、配置文件变量1、新建OPENCV_HOME2、添加path三、新建springboot项目,jdk选择81、pom添加依赖 <dependency> <groupId>org</groupId> <artifactId>opencv</artifactId>

2021-05-08 10:55:02 499 3

原创 在Rabbitmq管理台发送消息

有的时候我们因为一些特殊的原因或者需要测试某个功能,需要发送mq,但是又不能直接触发消息。这种情况下,我们可以直接在mq控制台发送消息。一、首先打开rabbitmq管理台二、右上角选择环境,开发或者测试三、打开Queues Tab页四、选中某个queue1、在properties里面加一行键值对key:content_type, value:text/plain2、在payload里面加消息体,json格式见图:3、点击按钮Publish message即..

2021-04-08 11:24:24 7560

原创 java 项目cpu飙升故障排查

cpu飙升居高不下,这种事情虽然很少,可能在一家公司待一年也不会发生一次。但是这种故障一旦发生了,可能就很严重。那么当我们某个Java项目占比很高了,怎么定位到代码?一、top看一下大概情况,看看谁占的最高,会显示每个进程和具体的cpu占比,我这里显示的是正常情况,特殊情况下,cpu可能飙升到100%,200%二、假如现在上面pid为17464的进程占的很高,达到了200%了。这时候,看一下这个进程的线程情况。top -p17464 -H-H表示看线程信息,注意这里虽然列.

2021-03-30 20:10:02 1067 2

原创 用hutool将数字转简体中文和繁体中文,支持金额模式

最近项目中用到金额转大写的地方,正好项目引用了hutool包,发现里面正好有这个功能工具类:cn.hutool.core.convert.Convert#digitToChinese /** * 金额转为中文形式 * * @param n 数字 * @return 中文大写数字 * @since 3.2.3 */ public static String digitToChinese(Number n) { if(null == n) { return

2021-03-30 13:17:29 13601 5

原创 mysql left join中where条件和on条件的区别

假设现在有表t1, t2, t3,t1通过id左关联t2, t2通过id左关联t3, 要统计t3中关联t1(8, 9, 10, 11, 722, 723, 724)数量?有两种写法:SQL1:select t1.id, count(t3.id) as totalQuestionCntfrom eas_label t1 left join eas_question_label t2 on t1.id = t2.label_id and t2.del_flag = 0 lef..

2021-03-26 13:56:09 95 1

原创 rabbitMQ消息发送失败处理策略

一、发送失败的三种情况:(1)producter连接mq失败,消息没有发送到mq(2)producter连接mq成功,但是发送到exchange失败(3)消息发送到exchange成功,但是路由到queue失败;二、处理策略:(1)异常处理:convertAndSend方法加异常并捕获,失败则发送邮件并保存到数据库中(2)发送失败处理:这种处理需要先设置rabbitTemplate.setMandatory(true);然后分别对confirmCallback和returnCallback

2021-03-17 20:56:58 9724 2

原创 excel指定列拼接sql

有的时候我们需要将excel中的数据导入到数据中,有多种方式,这里介绍的是通过excel函数拼接sql,然后导入到数据库。首先整理excel,包括列和值,列数无限制然后选一个新的列头,这时候fx是为空的我们只要在这里写函数,就可以拼接了比如我这里选中了Q列,然后在fx输入框里写="insert into xxxxx(name, code, attr_name, type, value,market_required_flag, market_view_flag, market_

2021-03-17 20:47:46 423

原创 BigDecimal的8种round舍入模式

先举例子,使用不同的数字(包括正数和负数)使用8种不同的模式,对比计算的结果 public static void demo(BigDecimal bigDecimal, int scale){ System.out.println(); System.out.print(bigDecimal.toString()+"\t"); //循环使用8种舍入模式 for (int i =0 ;i<8;i++){

2021-03-17 10:24:47 3197

原创 mysql多表关联更新

假设有两张表A和B,A和B通过B.id关联,并且A中有b_name列,这一个列取B的name。 现在通过A和B的关联,更新A.b_name数据,条件为A.b_name为空,并且B.name不为空。update A t1 left join B t2 on t1.b_id = t2.idset t1.b_name = t2.namewhere t1.b_name is null and t2.name is not null; 这种场景多发两种情况,一种...

2021-03-10 19:58:20 408

原创 Git撤销和回退以及注意事项

最近在公司带项目,发现一些中级开发会遇到开发错分支的情况,也就是在错误的分支上写了一通代码,然后提交了,想回退又担心代码没了,又不想手动复制代码再提交,确实有点头疼。这里就整理下,怎么处理这些意外情况。 首先,先创建一个gitee仓库,https://gitee.com/noname123/gitCourse.git,然后IDEA拉取,添加.gitignore文件,再提交。一、新建文件,没有add,怎么回退?创建文件a.txt,然后git status,显示文...

2021-03-07 15:40:50 1378 1

原创 (亲自整理)如何让你的C盘立马多出来20G空间

我的C盘120G,但是C盘所有文件加起来也就40G,但是显示已经用了60G,那20G不知去向。后来查了下,这20G确实用掉了,主要用在三个地方,一备份、二用来做虚拟内存、三休眠文件。一、系统更新后,大多都会有备份文件,这个直接右键C盘,然后磁盘清理,能清多少算多少;二、休眠文件可能有用,就在C盘根目录下,但是隐藏文件,所以需要先设置查看,把它显示出来。我的直接占用了13个G的C盘空间,考虑还是关闭休眠功能。关闭休眠并删除hiberfil.sys文件,立马多出来13G空间方法:1、cmd

2021-03-07 13:00:14 3531 2

原创 使用fastjson处理对象和json字符串

定义Test类@Datapublic class Test implements Serializable { private String name1; private String name11; private String name111; private TSS tss; @Data public static class TSS implements Serializable{ private String age

2021-03-04 21:50:52 254 1

原创 springboot事务没有回滚处理

最近在公司做下单和支付功能,需要写一个轮询第三方支付公司来查询订单支付状态。如果第三方返回支付成功,更新订单和支付数据,并做业务处理,然后将支付结果存redis。除了轮询支付,同时也提供回调接口。两个地方需要做幂等和并发控制。如果多个请求同时过来,需要控制同一时间只能处理一次支付,这个采用redis分布式锁实现。然后具体的接口里先查询状态,如果订单已经支付成功,则直接返回,不做任何处理。如何返回第三方返回支付失败或者未支付,也不做任何处理;只处理支付成功的结果。为保证事务一致性,将支付成功的

2021-02-07 18:04:38 3232 1

原创 在win10部署Jenkins打包到centos7测试环境教程

因为本人只有一个远程服务器,腾讯云的,但是考虑内存带宽,说到底还是穷。所以把Jenkins部署在自己的Win10开发电脑上。一、集成前提:1、首先电脑要有JDK,Maven, Git。JDK8以上,Maven不确定是否有版本要求,我的是apache-maven-3.6.33.6.3,Git建议使用最新版本。二、下载Jenkins:1、https://www.jenkins.io/, 选择LTS版本2、一步一步安装,中间新版本要求填什么码,选择选不填的。安装完成后, Jenkins成.

2021-01-04 11:10:31 305

原创 centos查找程序包位置

有时候我们自动安装一些软件,但是不知道安装到哪里了一、rpm -qa |grep mysql二、yum search mysql三、find / -name mysql四、which mysql五、whereis mysql

2020-12-31 14:14:25 721

原创 linux端口号管理

一、查看端口占用情况1、查看所有端口netstat -ntlp2、查看某一个端口netstat -lnpt |grep 8083二、防火墙端口管理1、如果没开启防火墙,开启systemctl start firewalld.service2、关闭防火墙systemctl stop firewalld.service3、查看防火墙状态 firewall-cmd --state4、开放某个端口firewall-cmd --zone=public .

2020-12-31 11:12:56 1053

原创 LevenshteinDistance计算文本相似度

代码package sdsrf;public class StringSimilarity { public static double similarity(String s1, String s2) { String longer = s1, shorter = s2; if (s1.length() < s2.length()) { // longer should always have greater length

2020-12-08 13:32:05 200

原创 使用redis客户端查询提示未授权

进入redis目录/root/redis/redis-5.0.3/src使用客户端./redis-cli 获取某个keyget test:121返回(error) NOAUTH Authentication required.正确姿势:先auth yourpasswordauth yourpassword OK

2020-12-06 19:07:27 360

原创 mybatis-plus调出日志

在mybatisplus的配置中mybatis-plus: mapper-locations: classpath:/mapper/**/*.xml #实体扫描,多个package用逗号或者分号分隔 typeAliasesPackage: com.qs.**.entity global-config: #数据库相关配置 db-config: #主键类型 AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数

2020-12-04 16:53:12 1720

原创 springboot 项目部署到服务器后台运行

nohup java -jar qs-ai-server.jar >> /opt/log/main.log 2>&1 &

2020-10-12 10:19:40 692

空空如也

空空如也

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

TA关注的人

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