自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HumorChen的博客

快速学习,mail and qq:[email protected]

  • 博客(389)
  • 资源 (13)
  • 收藏
  • 关注

原创 SpringCloud全套学习分目录两万字笔记(图文步骤、示范项目、附带所有项目源码git可供克隆)

SpringCloud全套学习分目录两万字笔记(图文步骤、示范项目、附带所有项目源码git可供克隆)SpringCloud初识Spring Cloud什么是微服务SpringCloud简介Spring Cloud 与Dubbo对比小结服务治理Eureka搭建步骤搭建父项目搭建Provider和Consumer项目使用RestTemplate远程调用搭建Eureka服务 eureka-serverprovider使用eureka注册服务consumer使用eureka获得服务提供者地址并调用配置讲解Eurek

2021-10-10 11:00:07 491

原创 学习最新大厂付费视频时整理的万字长文+配图带你搞懂 MySQL

SQL(Structured Query Language):结构化查询语言。其实就是定义了操作所有关系型数据库的一种规则。通用语法规则SQL语句可以单行或多行书写,以分号结尾可使用空格和缩进来增强语句的可读性MySQL数据库的SQL语句不区分大小写,关键字建议使用大写-- 注释内容# 注释内容(MySQL特有)多行注释︰/* 注释内容 */触发器是与表有关的数据库对象,可以在insert、update、delete之前或之后触发并执行触发器中定义的SQL语句。

2021-07-25 18:53:35 484 5

原创 如何简单快速复制网页上的文字?

chrome 插件supercopy。

2021-07-21 16:23:33 41954 6

原创 孙子兵法与三十六计 复盘短记

听书听孙子兵法不太形象,找来一部2000年的中央电视台拍摄的电视剧《孙子兵法与三十六计》,B站有,00年的电视剧画质的确感人,可演的却很细节很真实,例如春秋时马没有马鞍,猪只有黑猪等细节都很完善。继续慢慢记,作复盘,顺便分享,总计将近两万字。第一集:上屋抽梯对敌人而言,是利用小利等方法引诱敌人上屋随后抽走梯,置之绝境轻易灭之。对友军而言,则是破釜沉舟的意思,将自己置之绝境,置之死地而后生。剧中用庞涓被魏王重用攻打楚国攻打不下,随后谋士建议去找师傅鬼谷子支招,谋士去找了鬼谷子,鬼谷子让徒弟孙宾(鬼谷子将

2021-05-05 13:05:50 4263 4

原创 战国风云之列国短记

本纪录片可在腾讯视频搜索观看巢氏燧人氏神农炎黄夏商周春秋战国秦汉三国两晋南北朝五代十国辽宋夏金元到明清民国近现代燕国燕王不行了国家衰落,寻求贤臣,信了郑则仕的鬼话让位给他,开始学神农他们种地去了,成了第一个真的让位的人,可人民不服他郑则仕,燕王儿子也不服要夺回来,得到了齐国支持,齐军以伸张正义之名打败了郑则仕统治的燕国,打赢了不给燕王子了,毁宗庙,燕王自杀,燕王之子恨死了,最后夺回来,燕昭王赏识了这位使我有洛阳二顷天,安能佩六国相印的苏秦,苏秦一直不受赏识,有人赏识了愿意去齐国做间人,离间齐国.

2021-05-05 12:27:18 587

原创 MySQL 列数据跨表拷贝,一句SQL快速将表A每条记录的某些字段拷贝到表B每条记录的某些字段(A、B表通过ID等字段对应)

新建了一张表B,需要从现有的A表的拷贝一部分字段过来,他们每行有个ID字段能一 一对应,做冗余数据。UPDATE t_b INNER JOIN t_a ON t_b.id = t_a.id SET t_b.c1 = t_a.c1, t_b.c2 = t_a.c2 ;

2024-04-16 16:41:29 225

原创 nacos服务器挂了之后springboot/springcloud服务会挂吗?不会挂(顺便深入源码分析nacos配置中心客户端核心功能实现)

看源码第一步找到maven依赖展开,看看文件夹、文件名,粗略过一遍有些啥文件如果你有直接调用源码里的方法就直接通过方法进去看怎么实现的如果没有直接用某个方法,那就去看目录、相关文件逐步分析理解。

2024-04-12 10:51:12 709

原创 积木报表Excel数据量大导出慢导不出问题、大量数据导不出问题优化方案和分析解决思路(优化前一万多导出失败,优化后支持百万级跨库表导出)

原积木导出有两种导出,直接导出和大数据导出(大数据导出是做了优化去掉了一些样式之类的,性能更好)实测中发现原积木大数据导出性能:1万条数据导出耗时30秒,1.5万条耗时1.5分钟导出失败,数据超过一万条后经常导出失败,还会导致容器实例探活失败/内存撑爆重启异步+自实现导出功能优化方案导出性能:34.6万条数据一次导出耗时2.5分钟,导出时快速返回空数据文件,避免页面死等不可用,导出后的表格是在线OSS的文件URL直接每个人都可以快速下载,可随时多次下载。

2024-04-07 14:20:40 758

原创 SpringCloud Hystrix 服务熔断、服务降级防止服务雪崩

如果达到最大并发请求数,请求会被拒绝。引发第三方重试不断调用我们接口,这个接口又会调用其他接口,在突发大流量时会引发雪崩,且雪崩积攒的重试流量会把刚滚动启动的实例(实例有探针发现持续两次不响应ping就会滚动重启实例,起一个新的,回收旧实例)又打垮,因此需要加入服务熔断、服务降级,让系统将无法消化的流量直接熔断返回报错,让服务不被阻塞住。Hystrix,英文意思是豪猪,全身是刺,刺是一种保护机制。处理调用的线程池核心线程一个,任务队列长度为10,超出的请求会被熔断打回,在执行和队列里的请求没事,正常执行。

2024-04-03 15:57:47 1115

原创 【深入日志打印】log.error(“你好{}“, “世界“, e);只有一个占位符是否会打印后面多出的参数呢?(详细跟进源码讲解调试分析)

直接在try里弄一个除以0的报错,然后打印日志,日志字符串里只设置了一个占位符,传2个参数过去,是否会打印两个参数呢?

2024-03-27 10:37:59 649

原创 java 线上生产问题排查思路,jvm内存溢出实例重启原因排查生产实战

项目组线上生产环境不定期的发生内存爆满然后实例重启,实例发布上线后实例内存不断增长最后维持在百分之九十多,十分危险。因此我参与到了排查中,本篇博客将记录排查过程和思路。

2024-03-18 20:55:06 990

原创 java 两个Dto对象有字段数据不一致可Objects.equals方法却返回了一致?(问题分析与结论)

可以从字节码看到,对父类做了equals比对!你可能和我一样会去对比两个类的差别,最开始的类有@FieldNameConstants注解,后面的没有,但是测试过后,这个加或不加都不影响维持现状,另一个就是base类是否在一个目录下,这个测试了仍然不影响。运行代码得到的结果,是不是有点懵,明明pageNo这个字段的值一个是1,一个是10,为啥equals还能相等呢?到此,你弄懂了为啥这两个对象equals会返回相同,解决办法是加注解声明equals方法要比较父类的equals。我也懵了啊,再去看看字节码。

2024-03-18 09:54:49 274

原创 java springmvc/springboot 项目通过HttpServletRequest对象获取请求体body工具类

【代码】java springmvc/springboot 项目通过HttpServletRequest对象获取请求体body工具类。

2024-02-27 16:41:13 597

原创 java Excel导出依赖技术选型mark

不要使用apache poi(性能差,占用内存大,比阿里的大好几倍的内存),应该使用阿里的easyexcel(性能好,占用内存少)

2024-02-21 10:18:23 224

原创 原创java开源项目发布maven全球中央仓库详细过程示范和遇到的问题解决办法

打包好的依赖项第一步 注册sonatype账号地址:https://issues.sonatype.org/secure/Signup!default.jspa看不懂英文的兄弟请用chrome网页翻译账号注册之后似乎还有个邮箱认证把,有的话去邮箱里打开认证通过链接。账号密码一定要记住了,保存好,并且最好是复杂的密码,后面还需要用到的。地址:https://issues.sonatype.org/secure/Dashboard.jspa去创建问题,地址:创建问题项目选择:Community

2024-02-20 11:01:58 823 2

原创 maven项目javadoc生成文档过程乱码解决办法

打包的时候javadoc乱码。或者弄一个系统变量也可以的。修改文件编码为utf8。

2024-02-19 16:11:31 255

原创 Unable to make field private JavacProcessingEnvironment$DiscoveredPro报错解决办法

maven项目打包报错Unable to make field private com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs accessible: module jdk.compiler does not "opens com.sun.tools

2024-02-19 13:51:17 702 1

原创 redis redisson报错 Unsupported protocol问题原因和解决方案

redisson没对老版本协议做兼容处理,一旦你升级版本就出现不兼容协议就这样报错了~不对老版本协议做兼容措施,有点憨八龟~

2024-02-02 11:03:49 796

原创 携程开源 基于真实请求与数据的流量回放测试平台、自动化接口测试平台AREX

官网文档这篇文章稍稍水一下,主要讲下部署过程里踩的坑,因为部署的过程主要是运维同学去处理了,我只说下踩到的坑,官方的教程是可行的。目前该项目对zuul项目的录制回放会有点问题(录制的样例会出现路由匹配符/order/**,而不是URI,批量回放会出问题),已联系携程AREX开源团队,正在处理,有进度会更新该博客。

2024-01-26 10:38:45 1185

原创 java 性能最好的对象、列表深拷贝框架MapStruct(一秒拷贝百万次)

MapStruct是一款非常实用Java工具,主要用于解决对象之间的拷贝问题,比如PO/DTO/VO/QueryParam之间的转换问题。区别于BeanUtils这种通过反射,它通过编译器编译生成常规方法,将可以很大程度上提升效率。> !!!注意:在常用场景下你可以认为是深拷贝的,但是你仔细去看,其实并不是完全深拷贝的,它的拷贝和Spring BeanUtils是一个样的,那就是第一层的普通对象确实是深拷贝,如果你属性里是引用对象的(比如List),那这种字段的拷贝其实是浅拷贝的,只拷贝了引用。但是它这种

2024-01-23 16:28:18 1176

原创 Java 对象、列表常用深拷贝方式与性能测试

hutool工具类包是一个java常用工具类包,集合了非常多的工具类,但是呢要注意性能问题、锁问题,性能偏差,你翻看他的源码你会发现,老版本的里头还有ReentrantLock来锁属性,新版的撤销了这个还加了缓存,但是在高并发下一样又触发到了反射Field底层的一个synchronized锁,所以高性能系统、接口请记得压测、阅读源码查看实现方式确认方案是否可靠。BeanUtils是spring提供的一个工具类,底层通过带缓存的反射来实现的。性能高,虽然不是最高的咯,但也是非常高了。

2024-01-23 16:16:24 979

原创 BigDecimal 0 不等于 0.00 equals问题

在执行某退款时,需要检验一下公式是否相等,避免在数据异常时执行了退款,但出现了一个问题,左边为0,右边计算后为0.00,使用BigDecimal 的equals方法去判定BigDecimal的0 和BigDecimal的0.00返回不相等!天猫前置抵扣退款结算时:质检价0!= 前置抵扣已使用金额0+本次结算前线下结算额-9200.00+本次退款金额9200.00。BigDecimal 的equals方法源码如下,在精度不一致的时候会提前返回不相等~请使用compareTo == 0来判断。

2024-01-22 11:20:54 490

原创 FastJSON 禁用循环引用检测DisableCircularReferenceDetect(“$ref“)

序列化的时候带上SerializerFeature.DisableCircularReferenceDetect特性。执行代码修改静态变量全局默认关闭,就不会再对重复引用改为"$ref":xxx了。关闭之前序列化出来的数据。

2024-01-19 14:12:53 764

原创 Java 6种常见拷贝集合方式深浅拷贝测试

【代码】Java 6种常见拷贝集合方式深浅拷贝测试。

2024-01-09 13:56:41 1306

原创 java 6种拷贝集合方式及其性能差异对比

底层使用了Arrays.copyOf()方法,这个方法底层又用了System.arraycopy方法,这个方法是native方法,使用本地实现,(一般为c++),直接操作内存复制,效率高。在项目中很多地方需要拷贝对象集合、A类型对象的集合转换到B类型这种操作,但是这种操作的完成是有各种写法的,每种写法的性能可能不一样,因此对比一下各个写法的性能差异,选择最优解。这种拷贝方式是第一层属性深拷贝,嵌套的对象是浅拷贝。这种拷贝方式是第一层属性深拷贝,嵌套的对象是浅拷贝。这种本地实现的拷贝数组方式。

2024-01-04 20:57:07 572

原创 springboot log4j Slf4j 对指定目录单独设置日志打印级别

在springboot 配置文件中配置。properties格式的配置文件。yml格式的配置文件。

2024-01-02 11:39:43 552

原创 硬核实战!mysql 错误操作整个表全部数据后如何恢复?附解决过程、思路(百万行SQL,通过binlog日志恢复)

事情起因:以为某个表里的数据都是系统配置的数据,没有用户数据,一个字段需要覆盖替换为新的url链接,直接写下了update t_xxx set xxx = ‘https://xxxxxxxxx’ ,然后执行了,执行的时候IDEA还提示这是危险操作,我思考了下不危险,这个就是要全部覆盖,然后就点击了execute确认执行,于是翻车了,等我覆盖完去看效果的时候,惊奇的发现用户数据也被覆盖了,于是去看这个表里的数据,真有用户数据,但是值得高兴的是,全被覆盖了。。。。

2023-12-23 03:13:54 1203

原创 Typora+Picgo(正常) 却上传图片失败问题解决思路和办法

我们根据这个提示去查看picgo的日志文件,就能看到问题之所在,路径编码时,typora把空格变%20了,传递给picgo时,picgo直接去读取了这个路径的文件没有读取到,导致上传失败。然后在编写完文档后一次性执行上传所有图片,操作路径 格式->图像->上传所有图片,这样首先文件存入到了一个没有空格的路径里去了,然后一次性上传的时候就不会遇到空格问题报错。在typora中粘贴图片时报错,显示上传图片失败,有点奇怪,而我确定我的picgo正常且通过了测试,那我们就去看日志,跟踪排查问题在哪里。

2023-12-18 14:26:15 558

原创 java jvm堆内存分析工具MAT(导出运行中jvm堆内存、加载导出文件分析)

下载地址:https://eclipse.dev/mat/downloads.php历史版本:https://eclipse.dev/mat/previousReleases.phpjdk1.8这些老版本jdk需要使用历史版本的,我的是1.8,用的1.10的mat我下载的地址:https://www.eclipse.org/downloads/download.php?

2023-12-12 20:21:29 717

原创 IDEA启动失败报错解决思路

背景:在IDEA里安装插件失败,重启后直接进不去了,然后分析问题解决问题的过程记录下来。方便下次遇到快速解决。也是一种解决问题的思路,分享出去。

2023-12-05 11:23:56 1826

原创 Vmware17虚拟机安装windows10系统

不要去什么系统之家之类的下载镜像,会不好安装,镜像被魔改过了,适合真实物理机上的系统在PE里安装系统,建议下载原版系统ISO文件。

2023-12-02 16:34:30 642

原创 Error:java:JDK isn‘t specified for module

解决:删掉项目中的.idea文件夹,然后关闭该项目,在idea中重新打开项目之后系统会自动重新生成.idea,此时新打开的项目会变成非maven项目,所以需要点击项目中的pom文件,右键 Add as Maven Project.错误:idea报错Error:java:JDK isn’t specified for module “模块名称”原因:项目中的.idea文件夹被删掉,或者修改项目内容后,重新生成的.idea有问题,导致项目目录出错。

2023-12-01 16:35:04 1330

原创 注解式+手动式自动异步更新的本地缓存(基于本地缓存Caffeine二次封装,开放源码)

使用示范注解方式:手动定义方式:LocalCache一个安全好用的springboot项目注解可配式本地方法缓存,基于最高效的caffeine框架。注解式方法有无参数、参数个数任意个都支持使用写入的缓存5秒后过期。5秒内对于相同参数调用该方法不再执行方法逻辑,直接返回缓存中的返回对象写入的缓存10秒过期,3秒后若有请求访问该key,这次直接返回缓存内的值,然后触发异步加载这个key(key对象里提前保存好了方法所有参数,调用方法执行) ,将缓存值刷新为最新值。是否为相同key的自定义判定

2023-12-01 10:26:41 417

原创 基于Caffeine再次封装的本地缓存工具

vivo查询接口动态更新的缓存 selectVivoExternalModelCache。* http param动态更新缓存。

2023-11-21 16:12:26 158

原创 Redis Jackson2JsonRedisSerializer 序列化时间问题单个/全局解决办法

【代码】Redis Jackson2JsonRedisSerializer 序列化时间问题单个/全局解决办法。

2023-11-06 11:33:32 173

原创 Git https方式拉的代码IDEA推送代码报错

【代码】Git https方式拉的代码IDEA推送代码报错。

2023-11-03 18:21:27 323

原创 MySQL8 间隙锁在11种情况下的锁持有情况分析与总结

经过各种情况下事务对数据的加排它锁测试发现,mysql 8 innodb引擎会对涉及的数据和间隙都加上排他、间隙锁,甚至在普通索引时还会对涉及数据的主键索引也加上不带间隙锁的排它锁(X,REC_NOT_GAP),在非索引字段范围锁定时会对整个数据和间隙锁定,这告诉我们在使用时要注意,追求性能时少使用悲观锁,尽量避免锁竞争、避免死锁,尽量走主键索引或索引、尽量少锁定资源或只锁定最小范围数据、尽量精确操作某行数据,尽量让事务执行时间短,尽量避免同时事务并发操作同间隙内数据以避免死锁。

2023-10-08 00:55:36 671 2

原创 Mysql 8手动终止某个事务并释放其持有的锁

是可以执行的,再去数据表看最新数据发现,刚这个事务没有提交的数据变更是没有生效的。这是由innodb的原子性保障了,要么事务提交成功,所有变更生效,要么事务未提交事务内所有变更都不生效。持有了行记录3的排它锁,且无间隙锁,锁类型是行锁,额外还获得了表锁的意向排他锁(意向跑排他锁不等于持有排它锁,只是表达一个意向,并没有持有这个表级排它锁)在mysql数据库里的information_schema.INNODB_TRX表中存储有innodb的所有事务,我们可以查看该表来查看正在进行的事务。

2023-10-07 23:32:46 890

原创 Jenkins 添加节点Node报错JNI error has occurred UnsupportedClassVersionError

从文字上看第一个错误类型是属于不支持的字节码版本,那就想到当前jenkins默认是用的java 11版本,而目标节点机器上用的java 8,字节码版本不兼容,我试过把这个jenkins的jdk改为11,不行,启动报错,那就只好改目标机器上的java版本了,于是在目标节点机器下载了java 11并把版本选择设置默认为11版本,然后重新laugh Node后节点上线成功。节点日志 报错信息如下。更换java默认版本。

2023-10-07 19:54:21 1583

原创 Jenkin 添加节点报错No Known Hosts file was found

var/lib/jenkins/.ssh/known_hosts 存了是已经接受SSH key认证的目标节点,由于创建节点时这个Host Key Verification Strategy 校验策略默认设置的是只链接已知Host,于是对未知的Host直接报错了,开启不验证等连接上再切回这个策略就可以解决。

2023-10-07 19:49:02 973

countrymmdbcountrymmdbcountrymmdb

countrymmdbcountrymmdbcountrymmdbcountrymmdbcountrymmdbcountrymmdbcountrymmdbcountrymmdbcountrymmdb

2023-03-02

我的idea设置我的idea设置

我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置我的idea设置

2023-02-24

Dom4j jar.zip

免费下载Dom4j jar.zipDom4j jar.zipDom4j jar.zipDom4j jar.zipDom4j jar.zipDom4j jar.zip

2021-06-27

ide-eval-resetter.zip

ide重置ide重置ide重置ide重置ide重置

2021-05-08

netty_websocket示范网页聊天项目源码

netty_websocket示范网页聊天项目源码netty_websocket示范网页聊天项目源码netty_websocket示范网页聊天项目源码

2021-03-16

springboot redis示范项目源码

springboot redis示范项目源码springboot redis示范项目源码springboot redis示范项目源码springboot redis示范项目源码

2021-03-16

spring security http接口鉴权使用示范项目

spring security http接口鉴权使用示范项目

2021-03-01

spring security方法鉴权使用示范项目

spring security方法鉴权使用示范项目

2021-03-01

SpringBoot AOP各种注解、自定义注解、鉴权使用案例(免费下载)

SpringBoot AOP各种注解、自定义注解、鉴权使用案例SpringBoot AOP各种注解、自定义注解、鉴权使用案例SpringBoot AOP各种注解、自定义注解、鉴权使用案例

2021-02-24

tendisplus-2.1.2-rocksdb-v5.13.4.zip

tendis单点、三主三从集群搭建后的压缩包tendis单点、三主三从集群搭建后的压缩包tendis单点、三主三从集群搭建后的压缩包tendis单点、三主三从集群搭建后的压缩包

2021-01-20

dart 2.10 linux sdk

dart 2.10 linux sdk,由于国内无法下载到所以这里下载了下来给大家免费下载

2020-12-11

dart grpc所需的dart-grpc-plugin dart-grpc-gen protoc,

bin里有bat结尾的批处理文件就是windows的,没有是linux的。bin里有bat结尾的批处理文件就是windows的

2020-12-11

Dart SDK2.10版本

Dart SDK2.10版本,去官网找半天找不到下载的,直接在这下就行了,免费Dart SDK2.10版本

2020-12-11

nacos1.4版本 github下的慢

nacos.zip github下的慢,我下成功了,免费分享给大家。

2020-12-04

kafka tar包和java操作kafka博客

kafka tar包和java操作kafka博客

2020-11-25

空空如也

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

TA关注的人

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