自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不爱敲代码的码农

这个人很懒

  • 博客(56)
  • 资源 (7)
  • 收藏
  • 关注

原创 引用到远程接口中报错java.lang.IllegalStateException: No fallbackFactory instance of type class

这个问题放了好久都没有管,今天解决了记录一下(本来以为是什么很深奥的bug,结果发现是自己太菜了)目前项目使用的是SpringCloud,module配置是两个无启动类的module作为公共模块,一个API做为所有module的远程接口模块,还有一个common作为配置以及基础工具模块之前自己公司项目的FeignClient都是在启动类同目录下,所以在启动类加一个@EnableFeignClients注解,添加个扫描包就行,而且没有配置过fallbackFactory,所以从来没有接触过这种问题。

2024-10-29 18:30:19 388

原创 Spring ApplicationContext事件处理机制

首先,我们定义一个自定义事件类,用于在订单完成时发布事件。} }} }在这个示例中,我们展示了如何使用 Spring 框架的事件机制来实现订单完成后的日志记录。通过定义自定义事件、事件监听器以及在服务类中发布事件,我们实现了组件间的解耦,并利用 Spring 的事件机制提高了系统的扩展性和维护性。

2024-08-21 14:48:30 523 1

原创 PostgreSQL 索引类型保姆级讲解

在设计索引时,需要考虑查询模式、数据分布等因素。不同类型的索引适用于不同的查询场景。通过适当的索引管理和维护可以进一步提高查询性能。使用工具可以帮助诊断和优化查询性能。

2024-08-19 16:16:43 966

原创 java并发包AtomicInteger类

是一个非常实用的类,用于在多线程环境下安全地管理整数计数器或标志。它提供了多种方法来更新和读取整数值,同时保证了操作的原子性和线程安全性。在并发编程中,是一个不可或缺的工具。

2024-08-12 16:17:25 305

原创 kafka流式处理中aggregate()方法--笔记

这些聚合值可以存储在本地状态存储中,也可以持久化到Kafka的更改日志主题中,以便在故障恢复时恢复状态。方法时,通常需要确保Kafka Streams应用程序具有足够的分区和副本配置,以便在故障情况下能够恢复状态。此外,聚合操作通常涉及状态管理,因此在设计和部署Kafka Streams应用程序时需要考虑状态管理和持久性的问题。方法是一个非常重要的聚合操作,它允许你将流中的数据聚合到一个或多个聚合值中。网上搜索的解释(仅供参考,方法中的每一个参数都有相对应的解释)下面是一个简单的例子,演示如何使用。

2024-03-20 15:56:30 533

原创 RocketMQ的重试机制

RocketMQ的重试机制是指:当消费者消费消息失败时,RocketMQ会在一定时间后重新将消息发送给消费者进行消费,以确保消息的可靠消费。:如果Consumer在最大重试次数内仍然消费失败,Broker会定期扫描被标记为消费失败的消息,并将其重发给其他Consumer。:Consumer在消费失败后,会在一定重试策略下定期重试消费失败的消息,直到成功或达到最大重试次数。

2024-03-20 15:51:19 346

原创 idea如何在一个service窗口中显示多个服务教程

ieda如何在一个servie窗口显示多个服务

2024-02-23 15:57:53 1196

原创 服务端如何防止订单重复支付

1、支付订单增加一个中间状态“支付中”,当同一个订单去支付的时候,先检查有没有状态为“支付中”的支付流水,当然支付(prepay)的时候要加个锁。1、支付订单增加一个中间状态“支付中”,当同一个订单去支付的时候,先检查有没有状态为“支付中”的支付流水,当然支付(prepay)的时候要加个锁。2、支付中心这边要自己定义一个超时时间(比如:30秒),在此时间范围内如果没有收到支付成功回调,则应调用接口主动查询支付结果,比如10s、20s、30s查一次,如果在最大查询次数内没有查到结果,应做异常处理。

2023-12-29 15:36:42 1244 1

原创 如何编写一个javaAgent jar工具包超详细教程

Java Agent技术是JDK提供的用来编写Java工具的技术,使用这种技术生成一种特殊的jar包,这种jar包可以让Java程序运行其中的代码。

2023-12-29 14:49:55 2176

原创 linux开放tomcat 8080端口

1、查看8080是否开放。3、重加载(重启防火墙)

2023-12-26 19:23:45 907

原创 Linux中安装Maven3.6.1

下载maven安装包: wget https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz。进入到解压后的文件找到apache-maven-3.6.1文件夹下的conf文件夹,使用vi/vim命令编辑setting.xml。如果没有wget命令,需要下载:yum -y install wget。输入:vim /etc/profile 进行编辑。提示没有vim命令的可以下载下vim。

2023-12-22 10:53:13 1214

原创 安装GraalVM

什么是GraalVMGraalVM是Oracle官方推出的一款高性能JDK,使用它享受比OpenJDK或者OracleJDK更好的性能GraalVM的官方网址:官方标语: Build faster, smaller, leaner applications。更低的CPU、内存使用率更快的启动速度,无需预热即可获得最好的性能更好的安全性、更小的可执行文件支持多种框架Spring Boot、Micronaut、Helidon 和 Quarkus。多家云平台支持。

2023-12-21 11:24:43 585

原创 JVM-接口响应时间很长解决办法

1、通过arthas的trace命令,首先找到性能较差的具体方法,如果访问量比较大,建议设置最小的耗时,精确的找到耗时比较高的调用。2、通过watch命令,查看此调用的参数和返回值,重点是参数,这样就可以在开发环境或者测试环境模拟类似的现象,通过debug找到具体的问题根源。。允许设置的最大值为4。测试如下[外链图片转存中…(img-99m99ak0-1702539552484)][外链图片转存中…(img-GNyKWag8-1702539552485)]

2023-12-14 15:50:32 353

原创 JDK8升级JDK11最全实践干货来了

目前不推荐使用模块化,因为相关组件生态还不完善,并且模块化带来的价值不够突出:1.很多中间件都是基于jdk8构建的,都有可能遇到模块化兼容的问题,比如:jsf,需要jsf强制升级才可以使用模块化2.拆包问题无法解决,比如:aws-java-sdk-s3、fluent等。1、升级过程简单,升级后可以使用更多新特性和更好的GC性能,所以建议升级到JDK11。2、现阶段不推荐使用模块化,但是不用担心会影响JDK11的升级。

2023-11-29 14:10:21 1401

原创 HSDB工具的使用说明

使用cmd,并且切换到Jar所在目录:C:\Program Files\Java\jdk1.8.0_20\bin。Java对象信息对开发者来说并不是透明的,需要借助工具来更好查询对象的运行情况,这里我们带来HSDB工具。移动到jre1.8.0_20\bin文件所在的目录下面,从新运行命令并且加入进程号就能看到如下界面。找到我们需要的进程号(对应的类名称HsdbDemo),将该进程号填入HSDB工具中。工具是JDK自带的:目录:jdk1.8.0_20\lib\sa-jdi.jar。

2023-10-11 16:56:03 291

原创 java中的this关键字

Java中的this关键字是一个非常重要的概念,它可以用于访问当前对象的成员变量和方法。在本文中,我们将探讨this关键字的用法和它的重要性,以及一些使用案例。**1.this关键字的概述 在Java中,this关键字代表当前对象**。当我们创建一个新对象时,我们需要使用构造函数为该对象分配内存并初始化其属性。在这种情况下,this关键字用于引用当前对象。它可以被用于以下几个方面:**1.1. 访问成员变量 this关键字可以用于访问当前对象的成员变量。**当对象的成员变量和方法参数或局部变量具有相

2023-10-11 14:09:04 159

原创 一行注解搞定数据脱敏!!

数据脱敏是一种通过去除或替换敏感数据中的部分信息,以保护数据隐私和安全的技术。其主要目的是确保数据仍然可以在各种场景中使用,同时保护敏感信息,防止数据泄露和滥用。数据脱敏通常用于处理包含个人身份信息和其他敏感信息的数据集,如手机号、姓名、地址、银行卡、身份证号、车牌号等等。在数据脱敏过程中,通常会采用不同的算法和技术,以根据不同的需求和场景对数据进行处理。例如,对于身份证号码,可以使用掩码算法(masking)将前几位数字保留,其他位用“X”或"*"代替;

2023-07-20 10:14:08 557 1

原创 还在用策略模式解决 if-else?Map+函数式接口方法才是YYDS!

Map+函数式接口通过Map.get(key)来代替 if-else的业务分派,能够避免策略模式带来的类增多、难以俯视整个业务逻辑的问题。策略模式是把 if语句里面的逻辑抽出来写成一个类,如果要修改某个逻辑的话,仅修改一个具体的实现类的逻辑即可,可维护性会好不少。策略模式在业务逻辑分派的时候还是if-else,只是说比第一种思路的if-else 更好维护一点。策略模式通过接口、实现类、逻辑分派来完成,把 if语句块的逻辑抽出来写成一个类,更好维护。红包 —— 红包发放规则表。购物券 —— 购物券表。

2023-07-05 17:09:41 116

原创 Java JDBC将一个文件夹的文件装载到ORACLE数据库BLOB列,并将BLOB列下载到另一个文件夹

运行代码后,它将通过JDBC连接到指定的Oracle数据库,并从A_TEST表中获取BLOB字段的内容并保存到指定的路径下。如果成功下载BLOB字段,将打印出"BLOB字段下载成功!如果未找到符合条件的记录,将打印出"没有找到符合条件的记录。

2023-06-19 14:15:55 447

原创 使用 Redis 统计网站 UV 的方法

网站 UV 就是指网站的独立用户访问量,即相同用户的多次访问需要去重。

2023-06-08 16:28:26 1259

原创 Java中的移位运算符左移位(<<)、右移位(>>)和无符号右移位(>>>)

需要注意的是,对于负数进行右移位操作时,不同的编译器和处理器可能采用不同的实现方式,结果也可能不同。因此,在进行位运算时,应尽量避免使用负数。Java中的移位运算符包括左移位()和无符号右移位(>>>)三种。

2023-06-08 16:12:46 2497

原创 Logback日志详细教程

通过日志查看程序的运行过程,运行信息,异常信息等。

2023-05-22 09:14:12 2188

原创 面试官:一千万的数据,你是怎么查询的?

前言准备数据开始测试如何优化SELECT * 它不香吗?结束此刻献上一首《凉凉》也许有些人没遇过上千万数据量的表,也不清楚查询上千万数据量的时候会发生什么。今天就来带大家实操一下,这次是基于MySQL 5.7.26做测试没有一千万的数据怎么办?创建呗代码创建一千万?那是不可能的,太慢了,可能真的要跑一天。可以采用数据库脚本执行速度快很多。

2023-05-16 10:09:08 455

原创 mybatis-plus-join MPJ连表查询 这样写太香了!

经过简单的测试,个人感觉mpj这款工具在联表查询方面还是比较实用的,能更应对项目中不是非常复杂的场景下的sql查询,大大提高我们的生产效率。当然,在项目的issues中也能看到当前版本中也仍然存在一些问题,希望在后续版本迭代中能继续完善。

2023-04-13 17:43:33 6499

原创 Redis布隆过滤器详解

深入理解redis——新类型bitmap/hyperloglgo/GEO ,它也是不保存元素的一个集合,它也。一般情况下,我们在查询数据的时候,如果用到redis,那么先去查redis,如果。如果布隆过滤器删除了一个元素,就是将某个对象的多个下标置为了0,出来的时候,也相当于查了很多次mysql,也可能会拖垮数据库。(这就是为什么,布隆过滤器,无是一定无,有可能有)。3)布隆过滤器是一种类似set的数据结构,只是统计。(如果布隆过滤器返回为不存在,那是一定不存在。1)一个元素如果在布隆过滤器里判定结果为。

2023-03-31 08:51:53 318

原创 Maven 编译遇到 Process terminated

bug是因为创建项目的时候不小心搞了两行一样的没注意到删掉一行就好了。执行maven clean 命令的时候 bug显示。结果还是不行,有可能对你们来说可行,建议看下。

2023-03-30 18:00:58 92

原创 Invalid bound statement (not found): com.atguigu.srb.core.mapper.DictMapper.insertBatch

Invalid bound statement (not found): com.atguigu.srb.core.mapper.DictMapper.insertBatch

2023-03-28 11:11:18 233

转载 什么是布隆过滤器?如何解决高并发缓存穿透问题?

布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。优点:空间效率和查询时间都远远超过一般的算法。缺点:有一定的误识别率,删除困难。

2023-03-23 14:52:14 168

原创 线上环境 CPU 使用率飙升如何快速排查?

相比于一大堆复杂的 JVM 调优过程,本文介绍的排查步骤还是挺简单的,可以帮助各位小伙伴排查一些简单问题,面试官问起来也好过啥也不会(这个 CPU 打满如何排查我被问过好多次…)。

2023-03-23 09:05:11 443

原创 一千行SQL命令

一千行sql命令

2023-03-22 16:53:39 360

原创 15K左右的Java常见面试题(无答案)

15、集合框架的多线程实现类:CopyOnWriteArrayList、CopyOnWriteArraySet、ConcurrentHashMap、ConcurrentSkipListMap、ConcurrentSkipListSet、ArrayBlockingQueue、LinkedBlockingQueue、ConcurrentLinkedQueue、ConcurrentLinkedDeque。什么是Spring的嵌入beans?8、锁优化:偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁消除、锁粗化等。

2023-03-22 09:04:05 200

原创 stack.pop()方法 Java Stack pop()方法与示例

stack.pop()方法 Java Stack pop()方法与示例

2023-02-03 10:51:32 2468

原创 Springboot切面编程通过切面AOP实现入参校验

Springboot切面编程通过切面AOP实现入参校验

2022-12-20 09:09:48 280

原创 IDEA 官方网站 http://www.jetbrains.com/idea/

IntelliJ IDEA 官方网站 http://www.jetbrains.com/idea/

2022-09-21 10:58:00 28738

原创 IDEA给方法之间添加分隔线

IEDA给方法设置分割线

2022-09-01 13:55:42 296

原创 IEDA插件统计(超级全面)

简单好用、增强功能Translation 描述:翻译插件,鼠标选中文本,点击右键即可自动翻译成多国语言。Key Promoter X 描述:快捷键提示插件。当你执行鼠标操作时,如果该操作可被快捷键代替,会给出提示,帮助你自然形成使用快捷键的习惯,告别死记硬背。CodeGlance 描述:在编辑器右侧生成代码小地图,可以拖拽小地图光标快速定位代码,阅读行数很多的代码文件时非常实用。.........

2022-09-01 10:01:11 295

原创 MyBatis多条件查询、动态SQL、多表操作、注解开发详细教程

MyBatis封装了JDBC通过Mapper代理的方式,以前繁琐的操作通过“属性与字段映射”就简单化解,MyBatis的动态SQL完美展现了DBMS的独特魅力。

2022-08-30 16:01:51 407

原创 linux中的解压文件命令有哪些

压缩:tar jcvf FileName.tar.bz2 DirName。压缩:tar zcvf FileName.tar.gz DirName。压缩:tar Zcvf FileName.tar.Z DirName。打包:tar cvf FileName.tar DirName。解压:tar jxvf FileName.tar.bz2。解压:tar zxvf FileName.tar.gz。解压:tar jxvf FileName.tar.bz。解压:tar Zxvf FileName.tar.Z。

2022-08-25 11:04:03 11085

原创 QueryWrapper常用条件介绍

QueryWrapper常用条件介绍【通用条件:】【比较大小: ( =, , >, >=, name '老王' gt(R column, Object val); // 等价于 >,例: g

2022-07-21 10:17:35 4035

原创 sql统计分组数 sql统计分组的组数

sql统计分组数sql统计分组的组数列1:列2:例子查询攻击的类别数

2022-07-06 17:51:16 3553

maven linux 安装时配置文件 settings.xml

maven linux 安装时配置文件 settings.xml 配置阿里云镜像 使用时请修改本地仓库路径

2023-12-22

windows版本 java jdk1.8和1.7

jdk-7u80-windows-x64 jdk-8u261-windows-x64

2022-09-09

apache-maven-3.3.9-bin

apache-maven-3.3.9-bin

2022-09-09

typorasetup.zip

typora安装包 Markdown文档编辑器

2022-09-09

jdk1.8linux版本安装包.zip

jdk-8u144-linux-x64.tar.gz安装包linux版本解压可用

2022-09-09

Git-2.33.0.2-64-bit

Git-2.33.0.2-64-bit

2022-09-09

Apifox-windows-latest.zip

Apifox,一般又称接口调试工具。   Apifox是一款接口调试工具,方便用户对API进行测试,Apifox支持可视化接口管理,接口调试,自动校验数据结构,自动化测试等功能,让用户在开发过程中更方便快捷的对接口进行测试。功能介绍   可视化接口管理   方便快捷可视化接口管理,成倍提升团队多人协作效率。   支持数据结构(JSON Schema)管理,多接口可复用相同数据结构。   接口调试   Postman 有的功能,比如环境变量、预执行脚本、后执行脚本、Cookie/Session 全局共享 等功能,Apifox 都有,并且和 Postman 一样高效好用。   自动校验数据结构   接口调试时,自动校验返回的数据结构是否符合接口文档定义,一键发现接口数据异常。   接口数据 Mock   内置 Mock.js 规则引擎,非常方便 mock 出各种数据,并且可以在定义数据结构的同时写好 mock 规则。   支持自定义期望,灵活配置根据参数值返回不同数据内容。   零配置即可 Mock 出非常人性化的数据   自动化测试   完善的接口自动化测试

2022-09-09

Java 基础核心总结_.zip

从java概述》java开发环境配置》java基本语法》java执行流程》面向对象》访问控制权限》接口和抽象类》异常》内部类》集合》泛形》反射》枚举》I/O》注解》关于 null 的几种处理方式

2022-09-08

node-v16.17.0-x64安装包及教程

node-v16.17.0-x64安装包及教程

2022-09-08

apache-jmeter-5.4.1安装包以及环境变量配置教程.zip

apache-jmeter-5.4.1.zip安装包,解压配置环境变量即可

2022-09-08

vscode安装包.zip

Vscode官方版是是一款由Microsoft Corporation开发并推出的用于用于跨平台编写源代码的编辑器,Vscode支持在全平台运行,能够对Java、TypeScript和Node的运行支持,Vscode还有其它的语言运行时的拓展生态环境。

2022-09-08

Notepad++中文版

免费的文本/代码编辑软件 Notepad++是一款免费的文本/代码编辑器,支持27种编程语言,支持多文件多视窗编辑。软件安装包体积小,启动速度快。 http://www.notepadplus.com.cn/

2022-09-08

mysql5.5安装包windows版本

适用于Windows64位系统的mysql5.5安装包,下载后直接解压安装即可

2022-09-08

RabbitMQtar包.tar

RabbitMQtar包

2021-12-28

—index.html

模拟跨域问题的资料index.html

2021-12-17

gateway学习Demo.zip

gateway学习Demo.zip

2021-12-16

CloudDemo的sql文件.zip

CloudDemo的sql文件.zip

2021-12-16

cloudDemo.zip

文章引用文件,微服务的学习

2021-12-16

nginx安装包1.18.0.zip

nginx1.18.0.zip压缩包

2021-12-14

windows版nacos.zip

nacos1.4.1版本

2021-12-14

空空如也

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

TA关注的人

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