- 博客(26)
- 收藏
- 关注
原创 Spring事务
在后端代码中,如果需要进行多次的数据库修改,通常会加@Transactional注解,但是spring是如何通过这个注解完成事务的控制和传播呢?
2024-01-09 17:07:36
425
1
原创 Mybatis Plugins学习
mybatis plugin 是一种拦截机制,它允许在特定对象的方法执行之前进行拦截处理,来实现特定的处理功能。
2023-10-19 15:51:16
416
原创 expected single matching bean but found 2: TOrderServiceImpl,TOrderService
mapperScan范围扩大带来的问题
2023-03-10 11:19:59
494
原创 lambda表达式原理
其实和动态代理差不多,代理目标类就是Test$$Lambda$1,在实现方法中调用需要代理的方法(代理方法就是lambda表达式转化的lambda$main$0(Object var)方法,InvocationHandler等同于调用函数接口的类)因此,在我们传递一个lambda表达式,实际上jvm帮我们在内存中生成了一个函数式接口的实现类,但是默认不保留在磁盘中。明显是一个Test类中生成的方法,但是这个方法是什么?接受到这个接口实现类后,调用其实现的方法,方法里面会调用之前生成的私有方法,
2023-01-10 13:05:52
336
原创 Error response from daemon: driver failed programming external connectivity on endpoint
docker服务启动时定义的自定义链DOCKER由于某种原因被清掉,我是因为在启动了docker之后,操作了防火墙设置,导致docker自定义链被清理了。重启docker服务及可重新生成自定义链DOCKER。docker启动服务报错。
2022-12-27 10:02:48
267
原创 RabbitMq消息确认模式
在mq消息传递时,为了避免消息丢失,mq引入了消息确认机制mq是一种生产者和消费者模式,中间以mq为中介进行消息分发,将生产者与消费者隔离,生产者不必关心消息何时被消费,消费者也不关心消息如何生产,使得两者不必同步处理。因此基于这种模式,可能会产生消息丢失问题,如何确保消费成功发送。以及消息成功接收,需要保证:1、生产者的确认模式2、消息和队列的持久化3、消费者的确认模式。
2022-12-17 12:41:17
512
原创 RabbitMq五种工作模式
发送方发送一次消息,发布订阅模式,会群发给绑定了fanout交换机的所有队列,两个队列都接收到消息。一个发送方对应多个消费方,轮询消费一个队列。发送两条数据,启动两个客户端,各接收一条数据。
2022-12-14 16:27:57
126
原创 group by使用的问题
如果启用了ONLY_FULL_GROUP_BYSQL模式(默认情况下),MySQL会拒绝选择列表、HAVING条件或ORDER BY列表引用的非聚合列的查询,这些列既没有在GROUP BY子句中命名,(在5.7.5之前,MySQL不会检测功能依赖,默认情况下不启用ONLY_FULL_GROUP_BY。这里报错就是因为其他字段不依赖于classify_name这个字段,如果,改成主键字段,这时产生了依赖关系,可以查询出来。总之一句话,一定要是和分组字段产生函数依赖,多表之间,一定以分组字段为主表。
2022-11-23 14:24:40
629
原创 对象创建的初始化流程
静态属性显示赋值也是先执行于静态代码块,静态代码块在类加载时执行。1、new 为对象分配一个空间。3、执行实例代码块中的代码。
2022-09-06 16:59:04
98
原创 MYSQL表的连接方式
1、内连接 2、外连接 3、全连接 4、交叉连接t1表 t2表 1、内连接,包括自然连接,等值连接,不等值连接 1.1、自然连接,根据相同字段进行连接匹配,可以不指定连接条件,同时消除重复的列 1.2 、等值连接即,在自然连接基础上添加一个on 做等值条件,只要匹配的记录,不会删除重复的字段 1.3、不等值连接,即使
2022-08-16 14:24:19
11986
原创 线程等待与唤醒
相比方式一synchronized是一种隐式锁,lock锁可以手动上锁和释放,以及可以设置trylock抢锁时间返回抢锁的结果,锁更加灵活。LockSupport park方法需要一个凭证,如果当前线程没有凭证,就会处于休眠状态,直到unpark(线程对象)给线程发放凭证(如果当前线程没有该对象的监视器锁时会抛出这个异常,由于线程一注释了synchronized锁,所以未持有对象的监视器锁。可以先唤醒在等待,也可以保证线程一的执行,先唤醒时,首先颁发了一个凭证,park时直接消费。...
2022-08-16 10:37:33
599
原创 Synchronized三种使用方式
两个方法methods01锁住test实例对象,methods02锁住test02对象,methods02没有sleep先打印。结果说明:两个方法调用同一个锁,即锁的this,被methods01抢夺后,methods02进入等待。methods01拿类锁,methods02拿对象锁,methods02不用等待。static锁住类对象,只有一个,需要等待methods01执行完。hello没加锁不用等待methods01执行完。结果说明:methods01先调用,先执行。...
2022-08-14 17:03:48
1528
原创 ThreadLocal介绍
ThreadLocal是线程私有的本地变量,存储在Thread类的属性threadlocals中,该变量类型是ThreadLocal.ThreadLocalMap 类型是ThreadLocal的静态内部类,所有线程的本地变量都是由ThreadLocal类来维护,即通过内部类来存储该线程的本地变量集合Thread属性是一个静态内部类。...
2022-08-06 19:03:24
185
原创 加@RequestBody与不加的区别
@RequestBody只能处理json格式的数据,而表单post提交默认方式是application/x-www-form-urlencoded,使用@RequestBody无法封装请求参数不加@RequestBody可以支持表单的默认格式,但是不能处理json格式的数据(在restTemplete进行远程服务调用时,是以json格式进行实体类传参的)...
2022-06-17 12:32:38
2068
原创 踩坑easyExcel
在使用EasyExcel完成表格数据读取时遇到一个问题,表格中的数据无法通过监听器读取,最后发现原来是变量命名问题,一定要严格以驼峰命名变量才能够读取到数据
2022-06-03 12:29:43
463
原创 Hystrix熔断
在客户端进行服务熔断时发现,设置的熔断时间不生效,是以默认的配置为主导致一直进入备选方法在配置文件设置的熔断时间才生效,否则都是以默认的1s为熔断时间
2022-05-04 20:47:41
219
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人