- 博客(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
原创 服务端如何防止订单重复支付
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中安装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
原创 Java中的移位运算符左移位(<<)、右移位(>>)和无符号右移位(>>>)
需要注意的是,对于负数进行右移位操作时,不同的编译器和处理器可能采用不同的实现方式,结果也可能不同。因此,在进行位运算时,应尽量避免使用负数。Java中的移位运算符包括左移位()和无符号右移位(>>>)三种。
2023-06-08 16:12:46 2497
原创 面试官:一千万的数据,你是怎么查询的?
前言准备数据开始测试如何优化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
原创 15K左右的Java常见面试题(无答案)
15、集合框架的多线程实现类:CopyOnWriteArrayList、CopyOnWriteArraySet、ConcurrentHashMap、ConcurrentSkipListMap、ConcurrentSkipListSet、ArrayBlockingQueue、LinkedBlockingQueue、ConcurrentLinkedQueue、ConcurrentLinkedDeque。什么是Spring的嵌入beans?8、锁优化:偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁消除、锁粗化等。
2023-03-22 09:04:05 200
原创 IDEA 官方网站 http://www.jetbrains.com/idea/
IntelliJ IDEA 官方网站 http://www.jetbrains.com/idea/
2022-09-21 10:58:00 28738
原创 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
Apifox-windows-latest.zip
2022-09-09
Java 基础核心总结_.zip
2022-09-08
vscode安装包.zip
2022-09-08
Notepad++中文版
2022-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人