自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (14)
  • 问答 (10)
  • 收藏
  • 关注

原创 使用存储过程批量修改表数据

背景如下:线上有一个表的字段保存的是逗号分隔的图片链接集合,类似"http://123.jpg?之后的内容,如下:"http://123.jpg,http://12333.jpg"结果。拼接到结果中CONCAT(str_arr, str, ',')查出要修改的所有记录,循环,使用CHAR_LENGTH(url)-CHAR_LENGTH(REPLACE(url,',',''))计算字符串逗号的个数num,循环num+1次。最后判断去掉结尾的逗号,if (RIGHT(str_arr,1)=',') THEN。

2023-10-08 16:57:27 526

原创 gateway报 netty堆外内存溢出问题解决io.netty.util.internal.OutOfDirectMemoryError

gateway报 netty堆外内存溢出问题解决,很多博客都是一知半解并不能解决我的问题。但是大概得到一个信息,这bug是有netty导致的,一般是用了ByteBuf对象没有调用release()释放内存。如上图已经提示了错误发生的地方,自行去代码中改就好。本地把把项目跑起来,记得加JVM参数 -Dio.netty.leakDetectionLevel=paranoid 开启netty自带检测,级别调到最高(火力全开!事实证明,我的问题恰恰不在大部分里面。经过一番激烈的研究(百度),应该是依赖版本的bug。

2023-04-21 15:17:21 5407

原创 告别繁琐的的Excel命令,AI智能语义excel处理神器

Excel的公式和命令十分繁琐,只有具有一定编程思维的人才能完全掌握。但是这款工具可以通过中文语义的方式来完成对excel表格的处理 ,大大简化excel处理的门槛,只要会说中国话就能处理,人人都是excel大神。2输入自己的操作命令如“按照2001年人口从大到小排序”更多命令可以自行探索。按照严谨明确的语义即可。1上传excel 2下载结果3处理命令。1上传自己要处理的excel。3导出处理好的excel。酷表ChatExcel。按照平均人口新增排名列。还有很多操作命令示例。

2023-03-06 10:45:03 1685

原创 java报错Lock wait timeout exceeded或者很多事物僵死不执行的问题

在生产中有时候会碰到锁等待超时报错Lock wait timeout exceeded或者事务一直挂起的情况。首先检查下你的数据库配置lock_wait_timeout 锁超时时间。前一个事务不提交的原因有很多,最常见的是1,HTTP请求无限等待,2,其他业务的事务中有一个更新操作之后的慢查询,这个查询语句一直执行不完,你可以排查下系统中是否有慢查询,优化掉。有3个改进点:1减少每次事务处理的数据量,降低锁冲突的概率。2,手动控制事务,把比较耗时的IO,HTTP代码放在事务之外处理3,如

2022-08-05 10:39:42 2592

原创 正确理解MYSQL事务的可重复读RR隔离级别与锁

mysql默认的事务隔离级别是可重复度。可重复度就是在一个事务中对相同数据的多次查询将返回相同结果。比如事务1:SELECT age from student where id=1;此时 age=10.....业务代码(在此时别的事务或者直接在数据库中把age改成20)SELECT * from T where id=1;这里查到的age依然是10而不是数据库的中20.重点总结:可重复读只能保证同一个事务中相同数据多次查询时得到相同的结果。并不会限制在此过程中其他事务对数

2022-05-09 11:36:05 2308 2

原创 linux进程杀掉后自动重启,PPID=1

有一种情况,由系统服务开机启动的。先停掉对应的系统服务在杀掉就可以了。查看服务列表列表systemctl list-unit-files发现相关的服务,禁用或者停止就好了,就可以杀掉了启动服务:systemctl start xxx.service关闭服务:systemctl stop xxx.service重启服务:systemctl restart xxx.service显示服务的状态:systemctl status xxx.service在开机时启用服务:systemctl en

2022-03-03 09:34:01 3392

原创 ideaSVN提交中文路径乱码Commit failed (details follow): svn: The node 乱码

更换idead的字体未中文字体,就好了。 进入到IntelliJ IDEA的界面中之后,点击 file 菜单 点击了file菜单之后,弹出了下拉菜单选中为 settings 选项 进入到来了settings界面中,点击appearance 选项 进入到了的appearance 选项之后,勾选上 use custom font 选项 勾选上之后,点击 字体 选项之后,弹出了下拉菜单选中Wie yahei ui 选项 yehe

2022-02-23 16:05:15 1859

原创 springCloud gateway修改下游服务返回的HTTP状态

有些场景需要对下游服务返回的响应进行包装,格式化返回。不把具体异常暴露给上游服务。此时可以通过创建修改返回内容和返回状态的Filter来实现。如下修改状态:package com.jieshun.open.fiter;import com.jieshun.open.bean.ApiContext;import com.jieshun.open.bean.SopConstants;import com.jieshun.open.param.ApiParam;import com.

2022-01-14 17:40:14 2257 1

原创 jenkins插件离线手动安装(publish-over-ssh为例)

jenkins插件离线手动安装(publish-over-ssh为例)。本方法适用于jenkins服务器未联网,同时jenkins插件页面安装失败的情况下。手动安装所需插件。

2021-12-29 09:49:50 3257

原创 springCoud gateway 实现用请求参数做路由断言

网关路由的组成如下:predicates 断言有两个重要参数第一个是name默认支持以下八种类型。下面我们来拓展实现通过请求参数中的接口编码来决定路由的自定义断言。

2021-08-27 11:16:38 473

原创 opsForHash().delete()删除所有key报错。

redisTemplate.opsForHash().delete ERR wrong number of arguments for 'hdel' command. channel: [id: 。。-------------------redisTemplate.opsForHash().delete().这个方法必须传入key和hash的key集合。两个参数。如果要清空某个hash的所有值。直接删除key就好redisTemplate.delete(key)...

2021-08-02 10:12:07 6315

原创 springboot kafka 同一服务的多个实例,如何设置成不同的消费组group. 动态group

问题场景:我的一个微服务A会在本地缓存一些业务配置数据,配置更新时由相关服务B发送一个变动消息。A收到消息更新本地缓存。那么问题来了,同一个服务A的多个实例a1,a2如何多次消费同一个topic消息解决方案:通过redis setif 加代码动态配置groupID、不同实例获取不动groupID。启动的时候会配置kafka消费工厂ConsumerFactory 这个时候生成groupIDsetIfAbsent()redis。如果失败就继续生成直到成功配置代码如下:package co

2021-07-23 17:30:21 3503 12

原创 springboot 打包jar 运行报错“没有主清单属性”

POM 指定打包插件,指定插件gogal 为repackage <build> <finalName>jop-admin</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId&gt

2021-07-16 16:32:38 137

原创 java泛型T和?的用法实例

泛型的用法定义工具类PageUtils指定类型T。方法public class PageUtils<T> { public PageInfo<T> toPageInfo(PageInfo<?> p1, List<T> datas){ PageInfo<T> pageInfo = new PageInfo<>(); BeanUtil.copyProperties(p1,pa

2021-06-08 10:30:30 296

原创 久不使用的rabbitmq突然占用很多CPU居高不下,这个进程beam.smp 一直在跑

清除了/var/lib/rabbitmq/mnesia/下面的旧数据就好了

2021-02-05 10:27:28 8923 2

原创 MybatisPlus真正的批量插入(非循环单个)方法

MybatisPlus默认提供的批量插入方法实际上是单条插入的,跟我们预期的不一样。其实MybatisPlus提供了真正的批量插入方法,但是只适用于MYSQL,所以并没有放出来,需要自己去拓展一下。第一步:新建拓展类import com.baomidou.mybatisplus.core.injector.AbstractMethod;import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;import com.ba

2020-12-14 11:32:18 11570 15

原创 基于Prometheus+Grafana的服务监控系统

基于Prometheus+Grafana的服务监控系统 一 背景&目的 在原有的日志展示平台Grafana上集合Prometheu实现对服务器资源和java应用服务的资源监控。并配套Alertmanager实现资源告警功能二 系统结构说明 Prometheus负责收集数据,Grafana负责展示数据。其中采用Prometheus 中的 Exporter含:1)Node Exporter,负责收集 host 硬件和操作系统数据。提供数据抓取接口供Prometheus收集。2

2020-09-23 10:16:56 405

原创 基于Gitlab +Docker 的CI/CD实践

原作者@小松同学基于Gitlab +Docker 的CI/CD实践背景目前点米HRO项目已经利用Jenkins实现了持续集成,但是这套方案过度依赖开发人员对于Shell脚本掌握程度,上手难度相对较高。同时现有方案还未实现服务容器化部署,因此本文将介绍一种基于Gitlab+Docker 实现容器化部署的一套CI/CD工作流解决方案。环境准备Gitlab 服务器一台 (源码存放) 应用构建服务器一台 (应用打包构建)Gitlab 持续集成3.1 Gitlab CI 是什么?..

2020-09-18 17:41:49 966

原创 基于loki的日志聚合系统部署文档

基于loki的日志聚合系统部署文档一,背景&目的目前HRO系统日志分散于各个服务中,查看不方便,且需要服务器权限。因此需要搭建一个统一的日志聚合系统目前热门方案有基于elasticsearch的ELK方案。Elastic Stack(ELK) ELK,即 Elasticsearch、Logstash 和 Kibana 简称,是最流行的开源日志聚合工具。它被 Netflix、Facebook、微软、LinkedIn 和思科使用。这三个组件都是由 Elastic 开发和维护的。E..

2020-09-17 16:11:17 3084

原创 腾讯企业邮箱发件接口返回Recipient address rejected: ERS-RBL.

原因是国外的邮件服务商垃圾邮件拦截了。解决办法要么换邮箱,要么让对方加白名单(基本做不到)。还有一种办法,赵专业的,国外邮件服务提供商。

2020-09-11 14:49:11 2650

原创 idea调试模式技巧主动回滚事务。

在本地调试代码时经常有这样一种问题。调试程序时为了重现一个bug需要反复的走业务流程。有时候前半部分的代码是对的,后半部分逻辑错了,但是代码不会报错,这样就会产生脏数据。需要去数据库里面删除掉,每次这样搞很麻烦。后俩发现idea中可以在调试时主动抛出异常,来回滚事务,免去清理脏数据的问题。具体如下:第一步、打开bubugger窗口,选择throw Exception第二部,随便输入一个异常,注意要用 new Exception() 这种形式。这时程序就会自动抛出异常,事务回滚。...

2020-08-24 10:30:13 2289 3

原创 Java后端开发规约

原作者@小松Java后端开发规约补充 命名规范 命名常常被认为是编程中的细节问题,但是其重要性往往被低估。而所谓的优雅代码往往就体现在这些细节当中,一个名字虽然不能影响程序的执行,但是却对代码的表达力和可读性有着重要的影响。在程序员工作中,大部分的时间都是在阅读和理解代码,好的命名能够让代码的概念清晰,增加代码的表达力;词不达意的命名会破幻我们思考的连贯性,分散有限的注意力。有意义的命名 变量名 变量名应该是名称,能够正确的描述业务,有表达力。如果一个变量名需要注释来补充说明,很有可能

2020-08-10 09:57:46 268 1

原创 fori,foreach和stream().forEach三种集合遍历方式的区别和使用场景

forifor (int i = 0; i < objects.size(); i++) {}foreachfor (Object o : objects) {}fori最普通的循环,可以时候得到当前的索引位置。foreach 和fori区别不大,foreach是普通fori的增强版用起来更方便。但是没有当前索引。java8新出的循环方式stream().forEachobjects.stream().forEach(p->{});最大的特点是并发执行,对于循环内业.

2020-07-22 15:36:40 13317

原创 idea激活失败之后打不开的问题

激活失败之后要还原配置文件。大部分时候只知道bin目录下的配置文件实际上,在用户目录C:\Users\Administrator\.IntelliJIdea2019.3\config下面也保存了配置这里最后一行有个指向激活jar包的配置删掉就好。我这里已经删掉了...

2020-07-22 15:24:51 2466 1

原创 idea 2020.1版本maven 编译项目找不到包的BUG提示程序包不存在

这个版本对maven支持有问题。勾上这个配置就好了

2020-06-23 09:50:32 7170 22

原创 maven打包报错 Expected root element project but found html

原因是POM文件错误。看下仓库中具体报错的pom文件是不是不对。删掉这个报错的模块文件夹重新编译。如果还报错,再看一下重新下载的POM文件是不是还是错的。如果是就再删掉,换maven仓库地址。我的错误是因为阿里云中的spring-boot-parent-2.1.6.RELEASE.pom POM文件错误。我换其他仓库就好了。...

2020-06-17 13:55:58 6873

原创 通过@Autowired自动注入ThreadPoolTaskExecutor线程池时报错

通过@Autowired自动注入ThreadPoolTaskExecutor线程池时报错Consider revisiting the entries above or defining a bean of type 'org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor' in your configuration.研究发现,spring的线程池有两种方式注入一种是 通过自动注入的方式注入线程池, @Auto...

2020-06-04 13:59:30 10775 1

原创 特殊原因导致 springboot @Transactional 事物不生效

我的原因比较特殊,因为再启动类里面注入的目标service在run方法中调用这个service的方法。这样会导致CompanyService中的方法事物失效

2020-04-24 13:42:35 606

原创 MYSQL存储过程示例循环更新重复电话号码。截取前N位补自增数

写一个存储过程循环更新修改重复号码的最后四位为自增数字length()长度函数lPAD(i,4,'0') 左侧补0分组查重复数据ID最大一条修改BEGIN declare i int default 0; while i < 9999 do UPDATE contacts set te...

2020-04-22 17:09:36 301

转载 java内存溢出分析命令

https://www.cnblogs.com/sxdcgaq8080/p/11089841.html

2020-04-13 16:36:44 238

原创 java1.8集合常用操作

状态类型(魔法数字),建议使用枚举 宽表设计(实体设计不遵循范式设计,导致实体含义不清晰) 接口返回尽量不要使用Map格式的数据当作返回参数,同时也不应该当作方法输入参数,建议定义对应的领域对象(VO,DTO) 1.8集合操作排序Collections.sort(list, (a,b)->b.getThirdTypeId().compare...

2020-03-18 15:28:15 294

原创 maven 仓库报错:Could not transfer artifact org.springframework.boot:spring-boot-maven-plugin:pom

maven 项目启动报错:Could not transfer artifact org.springframework.boot:spring-boot-maven-plugin:pom:2.2.4.RELEASE from/to maven-net-cn (http://repo1.maven.org/maven2/): Connect to repo1.maven.org:80 [repo1...

2020-03-02 15:56:56 9391 3

原创 电脑可以正常上网但是无法下载东西的问题。

最近发现个奇怪的问题,我的电脑可以正常浏览网页,但是下载的时候就会一直转圈。最后发现是因为开发的时候修改错了host文件。修复就好了C:\Windows\System32\drivers\etc不知道怎么改就其他全删掉保留127.0.0.1 localhost改完后一切恢复正常...

2020-03-02 11:42:21 9191 3

原创 win10企业版电脑内存。开机后占用会越来越高直到100%卡死,实际上并没有开多少占内存软件。解决方案

win10企业版电脑内存。开机后占用会越来越高直到100%卡死,实际上并没有开多少占内存软件。注销电脑重新登录内存占用并没有降下来,必须重启才会降下来。经多次排查,排除了系统本身的问题。最近发现是谷歌浏览器的问题,导致内存泄漏。卸载重装最新版,就解决了。...

2019-12-17 11:51:16 3160

原创 秒数转分,时,天。用于消息时间展示

输入时间秒数,返回类似微信消息的时间间隔字符串。public static String getDelTimeStr(String times){ Integer time = Integer.valueOf(times); int day=time/24/60/60; int h=time/60/60%24; int m=time/60%60; int...

2019-11-12 11:07:12 192

原创 省略掉@Autowired的方法

@Autowired是用在JavaBean中的注解,通过byType形式,用来给指定的字段或方法注入所需的外部资源。使用画风是这样的:用了lombok之后使用注解@AllArgsConstructor就可以不用再写@Autowired...

2019-11-06 13:40:08 1395

原创 java 导出excel中数字变成科学计数形式的解决办法

对字段加concat('\t',)SELECTORDERID) AS '订单号改成SELECT concat('\t', ORDERID) AS '订单号',对于已经导出的excel文件可以选中列->数据->分列->下一步直到如图选择文本就好了...

2019-10-14 18:07:39 1363

原创 IT公司权限安全管理方案

数据库管理员拥有所有数据库权限。账号管理,读、写。普通开发人员只读。服务器管理员拥有root权限。负责创建开发人员有限权限账号。普通开发人员部分权限外部账号管理员拥有外部账号。普通开发人员需要申请使用。代码仓库管理员负责仓库账号创建,生产分支管理。普通开发人员只有开发分支权限配置管理员。代码中数据源等账号密码全部放在外部配置中心中,可考虑加密存储。注:1所有...

2019-07-29 11:14:33 1310

原创 自动化部署时正确重启springboot应用。shell脚本方式

echo "stop company"#开始循环5次,判断目标进程是否存在,如果存在安全退出 kill -15等待3秒 否则终止循环for((i=1;i<=5;i++));dopid=`ps -ef | grep dmw-company.jar | grep java | grep -v grep | awk '{print $2}'`if [ -n "$pid" ]then...

2019-07-02 11:25:53 817

转载 工作3到5年一个优秀程序员应该掌握的知识。

这些问题都要深入的去了解,底层的知识。拓展性的知识基础问题1. Java线程的状态2. 进程和线程的区别,进程间如何通讯,线程间如何通讯3. HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别4. Cookie和Session的区别5. 索引有什么用?如何建索引?6. ArrayList是如何实现的,ArrayLi...

2019-06-14 17:54:07 361

世上最全的java面试复习知识汇总,从基础到高阶,从八股文到实践,从入门到入土

JAVA 基础 Spring 原理 微服务 Netty 与 RPC 网络 日志 Zookeeper Kafka RabbitMQ 数据库 一致性算法 JAVA 算法 Spark 集合 多线程并发 设计模式 负载均衡 数据结构 加密算法 分布式缓存 机器学习 云计算 JVM Hbase MongoDB Cassandra Hadoop Storm YARN

2022-09-01

publish-over-ssh.rar

解压后把三个hpi文件复制到jenkins的插件目录一般在/var/lib/jenkins/plugins/ 然后重启jenkins。系统设置-插件管理观察插件是否安装成功

2021-12-29

5年java面试题汇总.docx

5年左右java进阶面试题汇总。包含java基础,数据库,多线程,mybatis,redis,springcloud,Elasticsearch,等技术题。关键是doc格式。

2020-06-05

系统安全权限控制.pdf

互联网公司权限安全规范设计。包含数据库权限,服务器权限,外部账号权限,代码仓库权限。。PDF

2019-07-26

harbor-offline-installer-v1.8.2-rc1.tgz.003

(压缩包太大分为三个资源上传,请一起下载001.002.003放在一起解压)

2019-07-24

harbor-offline-installer-v1.8.2-rc1.tgz.002

最新版的harbor离线安装包,还有企业级Docker+Jenkins+Gitlab自动化构建实践文档。(压缩包太大分为三个资源上传,请一起下载001.002.003放在一起解压)

2019-07-24

harbor-offline-installer-v1.8.2-rc1.tgz.001

最新版的harbor离线安装包,还有企业级Docker+Jenkins+Gitlab自动化构建实践文档。(压缩包太大分为三个资源上传,请一起下载001.002.003放在一起解压)

2019-07-24

elasticsearch例子.zip

elasticsearch的一个例子,包含service和实体类。不包含基础入门内容。适合了解之后直接照搬代码

2019-05-09

基于EasyExcel的excel解析工具类。

基于EasyExcel框架的excel解析工具类。EasyExcel是阿里的excel解析工具,使用快捷方便,轻量。封装了常用的方法。使用前需要了解easyExcel的基本用法。

2019-02-25

史上最全的日期工具类

各种你能想到的日期计算,操作。包含常见的年月日间隔计算、比较、格式化

2019-02-25

远程获取图片并和生成的二维码拼接

动态生成二维码并拼接一个远程图片外框,代码模板,有注释

2018-04-10

极光推送demo

自己做过的对接极光推送的demo,源码。有注释和一些自己封装的方法!自己做过的对接极光推送的demo,源码。有注释自己做过的对接极光推送的demo,源码。有注释自己做过的对接极光推送的demo,源码。有注释

2018-04-10

idea vue.js插件

idea的vue插件在线安装总是失败。可以下载安装包,从硬盘安装插件。

2018-04-02

自定义图片上传按钮的ckeditor

用自定义图片上传按钮代替原来的图片上传按钮,实现即时上传插入。覆盖原ckeditor。修改ckeditor.js中imgupload()的上传接口路径。根据接口返回自定义 success: function 中的代码解析出图片路径。

2018-01-11

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

TA关注的人

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