自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(171)
  • 资源 (5)
  • 收藏
  • 关注

转载 CompletableFuture异步编程事务及多数据源配置详解(含gitee源码)

因为很多业务场景使用了多线程编程,涉及到DML操作(select、update、insert、delete)中的增删改,必须要保持数据在业务上的一致性,比如修改A表,插入B表,这两步在业务上必须是原子的,有一个失败,对于另外表的操作都必须回滚,而spring中对不同线程的数据库连接是单独的,放在ThreadLocal中,多个线程之间不共享事务,下面通过几个浅显易懂的示例,来解释不同场景下的多线程报错以及处理办法。子线程虽然抛出异常,但是事务没有回滚,数据正常插入了!

2024-09-23 14:12:29 142

原创 IDEA开发工具的Debug使用

https://blog.csdn.net/qq_41489540/article/details/117810172

2024-09-14 11:06:56 435

转载 BigDecimal 常用知识点总结

注:加减乘除取余a,b都不能为空,否则会产生 Exception in thread “main” java.lang.NullPointerException。返回一个BigDecimal数组,返回数组中包含两个元素,第一个元素为两数相除的商,第二个元素为余数。

2024-08-30 10:14:01 163

原创 大数据ETL开发之图解Kettle工具入门到精通(附上kettle安装包)

https://blog.csdn.net/yuan2019035055/article/details/120409547

2024-08-30 10:07:41 477

原创 大数据ETL开发之图解Kettle工具入门到精通(附上kettle安装包)

https://blog.csdn.net/yuan2019035055/article/details/120409547

2024-08-30 10:05:47 419

原创 Oracle的to_date()函数

很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法。原因是Oracle的SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。– 返回当前 时间的秒毫秒,可以指定秒后面的精度(最大=9)

2024-08-30 10:04:38 341

转载 【JQuery】jquery弹出页面窗口

在网页开发中,经常会遇到需要弹出一个页面窗口的场景,比如用户登录、提示、确认等等。而使用jQuery库可以简化这个过程,使得弹窗的实现更加方便快捷。本文将介绍使用jQuery实现弹出页面窗口的步骤,并提供相应的代码示例和解释。

2024-08-06 10:37:21 318

转载 【Docker】docker日志详细讲解

grep过滤命令, 把 error 日志都写到指定文件,可以写一个脚本把感兴趣的内容写入文件,进一步还可以导入我们的日志系统,方便查看。比如只想查看某个时间点之后的日志,使用 --since 选项,显示从指定时间点到最新的日志。效果和Linux的 tail-f filename一样,可以把最新内容刷新显示到屏幕上。效果和Linux的 tail-n20 filename 一样,显示最后20行的内容。cat 捕获命令将所有信息指定日志文件里面。

2024-08-06 10:32:38 90

转载 【CSS】css---input和textarea 输入框点击有边框解决方法

【代码】【CSS】css---input和textarea 输入框点击有边框解决方法。

2024-08-06 10:27:31 65

转载 【JQuery】快速上手jQuery:样式操作、效果

语法参数(1)params: 想要更改的样式属性,以对象形式传递,必须写。属性名可以不用带引号, 如果是复合属性则需要采取驼峰命名法 borderLeft。其余参数都可以省略。(2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。(3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。(4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。

2024-08-05 10:39:09 21

转载 Optional的使用

Optional.of(T t) : 创建一个 Optional 实例,t 必须非空;Optional.empty() : 创建一个空的 Optional 实例Optional.ofNullable(T t):t 可以为 null源码解析of和ofNullable两者都是获取Option实例,并且都是静态的of 会抛出空指针异常// 把实例放入Optional容器// 放入Optional容器时进行判空// 为空的情况下抛出空指针异常return obj;

2024-07-10 20:22:54 144

转载 HTML中的table标签属性

和和和

2024-06-19 10:23:02 2210

转载 Spring注解之恋:@Async和@Transactional的双重奏

在Spring的开发中,我们常常会使用@Async来实现异步操作,而@Transactional则是用于事务管理的关键注解。然而,在它们的美妙联合中,有时也会潜藏着一些鲜为人知的坑。就像电影中的一对情侣,它们相互吸引,却也有相杀的时刻。让我们走进这场注解之恋,一探@Async与@Transactional的相爱相杀之谜。@Async 和 @Transactional 是 Spring Framework 中用于处理异步操作和事务管理的两个重要注解。

2024-06-03 11:48:40 530

转载 SpringBoot项目中控制线程池、多线程事务提交、回滚的方式

对于大批量数据库操作,使用手动事务提交可以很多程度上提高操作效率多线程对数据库进行操作时,并非线程数越多操作时间越快,按上述示例大约在2-5个线程时操作时间最快。对于多线程阻塞事务提交时,线程数量不能过多。来源 | https://blog.csdn.net/qq273766764/article/details/119972911@Autowired@Override//模拟总数据i < 10000;i++) {

2024-05-29 14:50:52 911

转载 同一个类中,无事务的方法调用有事务的方法问题原因及其解决方法

②在xxxServiceImpl中,用(xxxService)(AopContext.currentProxy()),获取到xxxService的代理类,再调用事务方法,强行经过代理类,激活事务切面。但当同一个class中的方法A调用方法B时,会发现方法B中的异常不再导致回滚,也即事务失效了。而在同一个class中,方法A调用方法B,调用的是原对象的方法,而不通过代理对象。如果是在同一个类中的方法调用,则不会被方法拦截器拦截到,因此事务不会起作用,必须将方法放入另一个类,并且该类通过spring注入。

2024-05-22 16:53:22 427

转载 BigDecimal四舍五入用法介绍

BigDecimal.setScale() 方法可以将 BigDecimal 对象四舍五入后保留指定小数位数,其中第一个参数表示小数点后保留的位数,第二个参数表示使用四舍五入策略。其中,ROUND_HALF_UP 是 BigDecimal 官方提供的四舍五入策略,表示直接将舍去部分加 0.5 后再进行向上舍入。

2024-05-10 20:51:54 62

转载 【Elasticsearch】ES常见操作

Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。在es当中,每个字段都会有默认的类型,根据我们第一次插入数据进去,es会自动帮我们推断字段的类型,当然我们也可以通过设置mappings来提前自定义我们字段的类型。

2024-04-22 14:53:35 455

原创 java 通过JdbcTemplate 访问oracle数据库分页查询数据

https://blog.csdn.net/qq_43038965/article/details/109449288

2024-04-11 15:26:06 309

转载 【Redis】之 RedLock 分布式锁

【Redis】之分布式锁简单来说就是 RedLock 是 Redis 实现分布式锁的一种方式。但不同点在于 RedLock 是 Redis 的作者 Antirez 在单 Redis 节点基础上引入的高可用模式。

2024-04-08 13:59:29 665

转载 stream流多字段排序

如果只进行单个字段的升序降序排列,我们使用reversed() 或者 Comparator.reverseOrder() 都可以如果要进行多个字段的升序降序排列,我们还是使用 Comparator.reverseOrder() 会更优雅、更好理解一些。

2024-04-02 11:29:56 932

转载 Java使用LocalDate获取某个月的第一天和最后一天日期

以一个月为周期进行查询时,如果用户没有选择查询的月份,我们想要默认查询当月或上个月的数据,这时,如何获取到一个月的第一天和最后一天日期呢?以下介绍两种方式采用LocalDate格式日期的实现,以及采用LocalDateTime格式日期的实现。直接上代码!// 获取当前月的第一天// 获取当前月的最后一天2021-11-112021-11-012021-11-30// 当前月份减1// 获取当前月的第一天// 获取当前月的最后一天2021-11-112021-10-11。

2024-03-19 10:04:35 1690

转载 RocketMQ-03

实际应用中要结合业务场景,合理设置刷盘方式和主从复制方式, 尤其是SYNC_FLUSH方式,由于频繁地触发磁盘写动作,会明显降低 性能。通常情况下,应该把Master和Save配置成ASYNC_FLUSH的刷盘 方式,主从之间配置成SYNC_MASTER的复制方式,这样即使有一台 机器出故障,仍然能保证数据不丢,是个不错的选择。

2024-03-11 20:29:47 203

转载 RocketMQ-02

ID生成器IDWorker:Twitter雪花算法异常处理类CustomerException:自定义异常类CastException:异常抛出类常量类ShopCode:系统状态类响应实体类Result:封装响应状态和响应信息。

2024-03-06 21:01:35 52

转载 docker详解(尚硅谷阳哥)

Docker是基于Go语言实现的云开源项目。Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”Linux容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。

2024-03-06 11:53:17 176

转载 RocketMQ-01

消息队列是一种“先进先出”的数据结构其应用场景主要包含以下3个方面应用解耦系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。使用消息队列解耦合,系统的耦合性就会提高了。比如物流系统发生故障,需要几分钟才能来修复,在这段时间内,物流系统要处理的数据被缓存到消息队列中,用户的下单操作正常完成。

2024-03-01 10:57:35 57

转载 黑马---Redis入门到实战【实战篇】

缓存就是数据交换的缓冲区(称作Cache),是存储数据的临时地方,一般读写性能较高什么是缓存?一种具备高效读写能力的数据暂存区域缓存的作用?降低后端负载提高读写响应速度缓存的成本?开发成本运维成本一致性问题。

2024-02-27 16:28:37 232

转载 黑马---Redis入门到实战【基础篇】

为了节省内存空间,我们并不会使用JSON序列化器来处理value,二是统一使用String序列化器,要求只能存储String类型的key和value。为了在反序列化时知道对象的类型,JSON序列化器会将类的class类型写入json结果中并存入Redis,会带来额外的内存消耗。Redis的SortedSet是一个可排序的set集合,与java中的TreeSet有些类似,但底层数据结构却差别很大。Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样。

2024-02-27 14:10:51 86

转载 SpringBoot自定义线程池

*** 线程池配置属性类*/

2024-02-21 13:52:32 62

原创 rocketmq 顺序消费

https://blog.csdn.net/loveme888/article/details/103006512

2024-02-20 11:52:02 122

原创 SpringBoot集成RocketMQ实现延迟消息

https://blog.csdn.net/weixin_44758923/article/details/128469052

2024-02-20 11:51:31 173

转载 RocketMQTemplate 发送消息的高级用法

通过深入了解 RocketMQTemplate 的高级用法,我们可以更灵活地控制消息的发送和路由。从延迟消息到事务消息,RocketMQTemplate 提供了多种方式满足不同业务场景下的需求。在实际应用中,要根据业务需求和性能考虑来选择使用哪种方式。通过合理使用 RocketMQTemplate,我们可以更好地利用 RocketMQ 提供的特性,构建高效可靠的分布式消息系统。

2024-02-20 11:35:58 598

转载 RocketMQTemplate基本使用

两个消费者组 groupA、groupB,每组中有两个消费者: groupA-1 groupA-2 groupB-1 groupB-2。使用任一生产者发出消息,groupA中的两个消费者都可以收到消息,groupB中的随机一个消费者也可以收到消息。针对不同的ConsumerGroup中,同一个消息,每个消费组中都有一个消费者需要消费。使用任一生产者发送消息,每个消费者组都能收到消息。针对同一个ConsumerGroup中,同一个消息只有一个消费者消费即可。同一个消息,每个消费者都需要消息。

2024-02-20 11:08:24 760

转载 图解23种设计模式

指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。

2024-02-20 10:32:18 44

转载 Seata分布式事务失效,不生效(事务不回滚)的常见场景

当Seata没有正常结束时,每个服务对应数据库中的undo_log表和seata持久化数据库的brach_table、global_table、lock_table、undo_log表都有可能有脏数据没有正确删除,从而导致服务一直回滚,却不成功。**解决办法:**清除undo_log表以及seata持久化数据库的brach_table、global_table、lock_table、undo_log表中的脏数据。那么可以分别在服务A、服务B、服务C的事务方法中添加。(2)每个服务中的XID不一致。

2024-02-18 14:22:52 1281

转载 Seata实战安装部署与Spring Cloud应用-常见问题

解决:先查看各服务的XID是否一致。

2024-02-18 14:08:24 81

转载 SpringCloud整合Seata1.6.1部署与使用Nacos方式

启动成功后,即可访问 http://127.0.0.1:7091/#/login 改地址进入seata的webui,用户名与密码默认为seata,可在上面的1.2章节中中提到的application.yml配置项:console.user中修改。在上述库中添加seata的配置表,sql文件存放在:seata/script/server/db/mysql.sql中。seata官网:http://seata.io/zh-cn/index.html。修改store.db配置项下的配置,连接到自己的数据库。

2024-02-08 17:24:26 422 2

转载 SpringBoot、SpringCloud、Spring Cloud Alibaba版本对照表

由于 Spring Boot 3.0,Spring Boot 2.7~2.4 和 2.4 以下版本之间变化较大,目前企业级客户老项目相关 Spring Boot 版本仍停留在 Spring Boot 2.4 以下,为了同时满足存量用户和新用户不同需求,社区以 Spring Boot 3.0 和 2.4 分别为分界线,同时维护 2022.x、2021.x、2.2.x 三个分支迭代。如果不想跨分支升级,如需使用新特性,请升级为对应分支的新版本。为了规避相关构建过程中的依赖冲突问题,可以通过。

2024-02-08 14:41:33 1915

转载 Feign组件的fallback操作

Hystrix类:重写方法用于当接口访问异常时,即调用的接口抛出异常时调用对应的重写方法,一般用于容错返回和输出异常。MessageFeignFactory类。修改@FeignClient 注解。可以看到抛出的异常有状态号信息等。开启hystrix 熔断器。FeignClient类。

2024-02-08 10:25:02 582

转载 分布式事务解决方案:RocketMQ事务消息

当事务消息发送成功后回掉RocketMQLocalTransactionListener#executeLocalTransaction方法,执行本地事务。第二次请求,因为流水id已经存在(报主键冲突异常),导致发送端扣钱失败,接收端也没收到消息,2边的钱都没发生变化,测试完成。还是以转账的demo演示一下,在db_account_1和db_account_2这2个库中,建立如下2张表。同时需要提供回查方法的实现,让rocketmq查询本地事务的执行状态,来决定是否投递消息。转账的时候先发送一条事务消息。

2024-02-07 18:23:07 56

转载 [RocketMQ错误]Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <

2024-01-20 20:58:04 264

vue基础语法练习源码

本套资源,是在html文件中测试的一些vue基础语法,包括过滤器、定义插件、列表渲染等语法。此资源适用于初学vue的小伙伴,用于加深对vue语法的熟悉。

2020-12-09

用SWT、Socket实现聊天室

本程序分为三个文件夹,ChatClient客户端,FileServer文件上传程序,ChatService聊天服务器端。不同用户可以通过客户端进行通信和上传接收文件,两个服务器程序可以部署在虚拟机上,当然也可以放在window本机系统上,只需修改该程序中IP即可。程序包含登录验证、好友列表、聊天、上传文件等功能,经测试能够正常运行。程序中由于未使用数据库,所以相关的用户信息都是用静态变量写死的。如有问题,欢迎私信。

2020-12-09

公交线路查询系统的设计与实现系统毕业设计参考

公交线路查询系统的设计与实现系统毕业设计参考,线路查询、站点查询、信息管理

2019-03-21

小米官网的静态页面33

对于前端页面课程设计练习,包括对HTML和CSS的使用

2019-03-14

小米官网的静态页面

对于前端页面课程设计练习,包括对HTML和CSS的使用

2019-03-14

空空如也

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

TA关注的人

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