- 博客(377)
- 收藏
- 关注
原创 Caused by: org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend.
原因:我表中的数据量有2w条,导致查询语句过长,超过了pgsql默认限制。解决方式:检查代码,看是否有查询之类的语句导致语句量过大,导致资源耗尽。// 省去service层查询,直接通过wrapper条件进行查询。// 每批次处理 1000 条。遇到这种错误该如何解决呢?:此错误的核心原因是 。解决方式:(批量处理)
2025-03-28 16:08:07
454
原创 openfeign如何修改接口上的地址???
只需要用到拦截器中的uri和target方法即可实现替换接口上固定的请求地址。使用场景:假设在这里配置了路径,但是我又想通过数据库动态配置地址,该如何操作呢?
2025-01-18 16:57:34
214
6
原创 Error running ‘App‘ Error running App. Command line is too long. Shorten the command line via JAR ma
Error running 'App' Error running App. Command line is too long. Shorten the command line via JAR manifest or via a classpath file and rerun
2024-11-23 10:05:29
174
1
原创 解决时间戳转换为json报错问题!!!
转换为josn后变成了:createTime -> {Long@14296} 1732243455000。问题原因:我们在数据中的时间戳格式为:2024-11-22 10:44:15。然后我们再将json转换为具体的对象的时候就会出现json转换问题。解决方法:在将josn转换为对象时采用如下方式进行转换。
2024-11-22 11:25:05
189
原创 SpringSecurity的执行原理
SpringSecurity的执行原理:当我们服务端接收到请求后,首先通过DelegatingFilterProxy代理对象交互,转发给springsecurity的执行链,由于他自带的执行链有16条,我们将不用的过滤器进行了排除,同时加入了我们自定义的过滤器,token全局过滤器,先判断token是否被篡改或过期,然后对token进行解析,将负载中的角色存储在SecurityContext上下文中,对加有@PreAuthorize注解的方法进行判断,如果我们上下文中的角色包含注解中的角色,则执行请求,否则
2024-06-27 13:48:01
389
原创 常见的IO流有哪些?
1、FileInputStream2、FileOutputStream3、FileReader4、FileWriter5、printStream6、printWriter7、ObjectInputStream8、ObjectOutputStream
2024-06-26 19:19:59
243
原创 静态变量和实例变量的区别:
的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对。象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何。实例对象,静态变量就会被分配空间,静态变量就可以被使用了。:静态变量前要加static关键字,而实例变量前则不加。:实例变量属于某个对象的属性,必须创建了实例对象,其中。
2024-06-26 17:53:09
258
原创 数据结构:几种基本的数据结构
树形结构中,元素之间存在一对多的关系,每个节点有零个或多个子节点。常见的树形结构有二叉树、平衡二叉树(如AVL树、红黑树)、B树等,用于实现高效的查找、插入和删除操作。:图是一种更为复杂的数据结构,其中的元素(节点)之间可以存在多对多的关系,通过边来连接。图可以是有向的也可以是无向的,广泛应用于表示网络、路径规划等问题。
2024-06-26 14:32:05
367
1
原创 MySQL常用的函数
8、week()/ year():返回时一年中的第几周 / 返回是哪一年。1、concat('a','b'):把传入的参数连成一个字符串。2、lower()/upper():转换为小写/转换为大写。7、now():当前日期和时间,年月日时分秒。5、substring():截取字符串的。4、trim():去掉开头和结尾的空格。6、rand():返回0-1的随机数。3、replace():替换字符串。
2024-06-25 22:04:25
150
原创 count(*) 和count(1)的区别
COUNT(字段) 多了一个步骤就是判断所查询的字段是否为 NULL,所以他的性能要比 COUNT(*) 慢。同时MySQL对COUNT(*) 进行了优化,所以COUNT(*) 的效率高一些。
2024-06-25 19:29:50
194
原创 重写equals为什么要重写hashCode???
综上所述,为了保证程序的正确性和性能,当你修改了对象的相等性判断逻辑(即重写了。,可能会导致一些难以调试的问题,特别是在处理大量对象和复杂数据结构时。,就是说equals相同的话hash值必须一致,如果。方法,以保持两者之间的一致性和集合框架的正确运行。:Java集合框架的很多实现都依赖于正确的。,可能会导致集合中出现重复的对象,或者在。这是基于Java集合框架的。这样的集合中,对象的唯一性是由。中,同一个键可能关联到多个值。方法后,通常建议你也应该重写。方法是相等的,那么它们的。比较,提高查找效率。
2024-06-25 19:24:07
269
原创 断言提供了哪些方法
Java中的断言机制主要用于开发和测试阶段,以确保代码符合预期的行为。,如果是,则抛出带有自定义消息的。,可以用于实现自定义的断言逻辑。关键字,Java标准库中的。
2024-06-25 19:20:21
270
原创 MySQL集群如何实现读写分离
在业务代码中使用ShardingDataSource来执行数据库操作,Sharding-JDBC会自动根据配置进行读写分离。:通过MasterSlaveRuleConfiguration定义了主从数据库的读写分离规则。:使用数据源和读写分离规则创建了ShardingDataSource。:定义了从数据库的负载均衡算法。:定义了主从数据库的连接池。
2024-06-25 19:14:54
303
原创 为什么序列化???
需要共享数据时,直接传递对象通常是不可行的,因为对象的引用无法在网络或进程边界上传输。因此,需要将对象的状态转化为一种可以传输的形式,这就是序列化的作用。
2024-06-25 17:49:35
390
原创 Java stream操作流常用的方式
8.匹配:使用anyMatch()、allMatch()、noneMatch()方法可以对集合中的元素进行匹配判断。10.转换:使用collect()方法可以将集合中的元素转换为另一个集合。2.映射:使用map()方法可以对集合中的每一个元素进行映射处理。6.聚合:使用reduce()方法可以对集合中的元素进行聚合计算。7.遍历:使用forEach()方法可以遍历集合中的每一个元素。3.排序:使用sorted()方法可以对集合中的元素进行排序。5.统计:使用count()方法可以对集合中的元素进行统计。
2024-06-25 17:37:52
252
原创 堆和栈的区别
栈 堆 是否共享 私有 共享 存储内容 基本数据类型和引用类型的地址 实例对象 声明周期 随着线程结束而消亡 随着jvm结束而消亡 垃圾回收 不需要垃圾回收 需要垃圾回收
2024-06-25 17:28:19
175
原创 Redis为什么使用单线程?
3、工作线程单线程,io多线程,最大化cpu利用率。1、简化了并发控制,避免多线程死锁。2、保证了原子性和数据的一致性。
2024-06-25 17:11:34
142
原创 全链路跟踪的过程???
前端埋点,前端生成traceId放在请求头中传递给后端,请求后端接口,在后端过滤器中判断是否有传递traceId,如果没有就生成一个,放在MDC中,使用时直接打印就可以了,由于微服务会通过openfegin远程调用其它服务,所以需要增强openfegin原生的拦截器,将token和traceId放入请求中传递给下游服务,已记录用户调用行为,便于后续分析。
2024-06-24 22:11:17
416
原创 openfeign的原理 ????
4、open Feign是基于aop的原理,在远程调用时,会扫描带有@FeignClient注解的接口,根据接口上的服务名去nacos服务中心获取对应服务的ip和端口,与方法上的url进行拼接成http请求,调用远程接口就像调用本地方法一样简单,再由动态代理生成对应的代理对象去执行所调用服务(通过http进行请求与响应),拿到响应数据(统一封装过的)后会将响应体中的数据通过我们所自己设置的openfeign的解码器反序列化成Java对象返回给本地服务。2、支持spring mvc 注解。
2024-06-24 21:56:59
402
原创 SpringBoot内置日志框架是什么?
文件中添加或修改配置项来定制日志行为,比如改变日志级别、日志文件的路径和名称等。Spring Boot 默认的日志级别是 INFO,并且它会生成一个名为。(Simple Logging Facade for Java)作为日志。的日志文件,除非你修改了默认的配置。Spring Boot 内置的日志系统是由。
2024-06-24 21:48:06
374
原创 脱敏的原理:
脱敏的原理:自定义了一个注解@Desensitization使用自定义的脱数序列化工具类,实现接口ContextualSerializer重写createContextual方法,方法中扫描属性上是否有自定义的注解,有则创建定义的序列化类的实例并且返回,根据自定义的脱敏规则实现数据脱敏。
2024-06-24 21:32:44
150
原创 装箱和拆箱?int和Integer的区别?
3、int转Integer叫做装箱,Integer转int叫做拆箱,但是装箱和拆箱不是一定的,在-128到127之间的数据就不需要进行装箱和拆箱,因为这部分数据会存储在JVM的堆内存中。2、Intege内部包含了很多方法,便于我们开发。1、int是基本类型,Integer是包装类。
2024-06-24 21:20:52
188
原创 前端v-if和v-show的区别是什么???
v-if:是否渲染dom,如果为false就不进行渲染;性能更高。v-show:无论true/false都进行渲染;性能低。
2024-06-24 20:53:16
141
原创 在mybatis中resoultType和resoultMap的区别?
resoultType:使po对象中的属性与数据库中的字段实现自动映射。resoultMap:需要手动写标签,在标签中手动映射po对象与数据库中的字段。
2024-06-24 20:29:52
321
原创 war包和jar包的区别?SpringMVC和SpringBoot的区别?
SpringBoot:先说springboot的好处,打的是jar包,通过docker部署直接运行。war:需要tomcat,web应用部署,spring MVC使用。SpringMVC:xml配置,配置繁琐,打的是war包。jar:内置tomcat,jvm可以直接运行。
2024-06-24 17:58:07
129
原创 SpringIoc容器中的Bean是否是线程安全的?
不安全,默认单例,那么多个线程同时访问和修改这个状态时,其它线程可以给感知到,可能会互相影响,所以不安全。
2024-06-24 16:19:55
420
原创 项目从接收到发布的流程
3、每个人拿到任务后,根据具体的任务需求与其他人沟通(定义一些公共的模块),根据自己的需求编写接口(供别人调用),实现功能。6、上线后,对我们的应用进行监控,通过elk,skywalking监控日志,如果出现错误就及时解决,解决不了就立刻上报。2、开需求发布会,确定开发周期,根据需求分析划分模块,确定技术栈,派发任务。4、通过GitFlow发布流程。1、项目经理拿到客户的需求。5、CI/CD发布流程,
2024-06-24 13:06:09
643
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人