自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 收藏
  • 关注

原创 Byte数组转换成文件

【代码】Byte数组转换成文件。

2024-09-17 21:11:16 158

原创 spring 事务失效的 12 种场景

在使用 @Transactional 注解声明事务时,有时我们想自定义回滚的异常,spring 也是支持的。可以通过设置参数,来完成这个功能。@Slf4j@Service如果在执行上面这段代码,保存和更新数据时,程序报错了,抛了 SqlException、DuplicateKeyException 等异常。而 BusinessException 是我们自定义的异常,报错的异常不属于 BusinessException,所以事务也不会回滚。

2024-09-01 20:27:56 738

原创 Dokcer 的常用命令

使用 Dockerfile 构建镜像。从镜像仓库拉取或更新指定的镜像。查看最近30分钟的日志。查看最新的50行日志。

2024-08-25 19:12:25 111

原创 达梦数据库(DM8)常用SQL

INSERT INTO TEST_TEMP(ID,PROJECT_KEY,CREAT_TIME) VALUES (1, '测试项目', '2022-12-15 14:15:30');INSERT INTO employee VALUES (9999, '王达梦','2008-05-30 00:00:00', 30000, 666);COMMENT ON COLUMN "SYSDBA"."TEST_TEMP"."CREATE_TIME" IS '数据创建时间';-- 初始化数据,自增id赋值。

2024-08-18 20:57:36 516

原创 ElasticSearch倒排索引

对于一个包含多个词汇的文档,倒排索引会将每个词汇作为一个关键字(Term),然后记录下该词汇所在的文档编号(DocumentID)及该词汇在文档中的位置(Term Position)。倒排索引的结构与传统的索引结构相反,传统的结构是有文档组成,文档对应了若干词汇,而倒排索引是由词汇构成,每个词汇对应的若干个文档,然后根据这些个文档建立索引。在这个例子中,单词 “Java” 出现在所有三个文档中,因此它的倒排列表包含文档ID {1, 2, 3}。倒排索引是一种常用的索引结构,用于快速搜索文档中的某个词汇。

2024-08-04 20:57:49 181

原创 Java获取外汇

工作项目所负责的模块需要用到货币汇率,本篇仅个人记录。

2024-07-28 20:49:08 403

原创 python模块化编程

在Python中一个扩展名为.py的文件就是一个模块,一个模块中可以包含N多个函数,使用模块后,方便其它程序和脚本的导入并使用,可以避免函数名和变量名冲突,提高代码的可维护性,提高代码的可重用性。新建一个.py文件,名称尽量不要与Python自带的标准模块名称相同。

2024-07-21 21:57:00 197

原创 Linux的load(负载)

负载(load)是Linux机器的一个重要指标,直观了反应了机器当前的状态。在Linux系统中,系统负载是对当前CPU工作量的度量,被定义为特定时间间隔内运行队列中的平均线程数。Linux的负载高,主要是由于CPU使用、内存使用、10消耗三部分构成。任意一项使用过多,都将导致服务器负载的急剧攀升。

2024-07-14 21:47:02 518 1

原创 MySQL 中 blob 和 text 数据类型

MySQL的这两个数据类型,实际的业务用的机会很少,一般varchar就完全够用了,使用需要结合自己的业务场景。

2024-07-07 20:58:52 317 1

原创 Java Stream API中peek操作

在Java的Stream API中,peek()是一个中间操作,它允许你查看流中的元素,但是并不会对它们进行修改或影响流的后续处理。换句话说,peek()方法提供了一个“窥视”流中元素的机会,但并不改变流本身或其元素的顺序。peek()方法接受一个类型的参数,该参数是一个函数接口,它定义了一个方法,用于处理流中的每一个元素。

2024-06-30 21:22:52 378 1

原创 python函数

函数就是执行特定任务以完成特定功能的一段代码函数定义时,给形参设置默认值,只有默认值不符的时候才需要传递测试语句:def fun(a,b=10): #b称之为默认值参数print(a,b)#直接传参给函数,再执行函数执行体print('world') #hello world(把end值修改为\t,非\n换行)测试语句:def fun(a,b,c): #a,b,c在函数的定义处,所以是形式参数#参数的调用。

2024-06-23 20:04:46 499

原创 python学习:语法(2)

该函数用于生成一个随机的整数,跟java的 Math.random()函数差不多的意思,不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,只有当用到range对象时,才会去计算序列中的相关元素。这些对象的布尔值为False:False、数值0、None、空字符串、空列表、空元组、空字典、空集合。Python一切皆对象,所有对象都有一个布尔值,通过内置函数bool()获取对象的布尔值。

2024-06-16 21:59:05 434 1

原创 windows解决pip库的问题

Pycharm更改操作。

2024-06-11 09:09:40 160

原创 python学习:语法(1)

标识:表示对象所存储的内存地址,使用内置函数id(obj)来获取类型:表示的是对象的数据类型,使用内置函数type(obj)来获取值:表示对象所存储的具体数据,使用print(obj)可以将值进行打印输出name='玛利亚' #name是变量;=是赋值运算符;玛利亚是值print(name) #打印出name的变量值#name中包含:id、type、value(2353242352,str,玛利亚)print('标识',id(name))print('类型',type(name))

2024-06-02 22:33:13 540

原创 python学习:基础语句

用在 for 循环和 while 循环语句中,用来终止本次循环。在 for 循环和 while 循环语句中,用来终止整个循环。for 循环可以遍历任何序列,比如:字符串、集合。Python 提供了 for 循环和 while 循环。满足条件时进行循环,不满足条件时退出循环。

2024-05-26 22:51:52 627 1

原创 安装python开发环境

如果你选择使用Anaconda作为你的Python分发版,那么conda将成为你的默认包管理器。出现这个页面就是安装成功了!

2024-05-19 21:39:04 278 1

原创 时间范围交集查询

数据库中时开始时间与结束时间,筛选数据条件将这两个字段(开始时间、结束时间)糅合成一个字段,并且是范围筛选。or (startTime <= "开始时间" and "结束时间" <= endTime)or ("开始时间"<=startTime and startTime <="结束时间")("开始时间" <=endTime and endTime<="结束时间")# 全部包含(子集)和左边包含。# 全部包含(被子集)

2024-05-11 19:02:33 269 2

原创 Java Future模式

Future模式是并发编程的一个重要的设计模式。比如有个方法需要很长的时间才能得到结果,不会让调用的程序一直等待,而是先返回给它一张“提货卡”。其实相当于消息队列,当你下了订单之后,在并发情况下,实际不是即时就完成了整个订单流程,而是通过一个消息队列告知你完成订单,实际后台还在走逻辑。

2024-04-21 22:58:47 997

原创 mysql中point使用

point是MySQL中用来表示GIS中的地理坐标,在GIS场景中广泛使用。

2024-04-12 16:56:45 1532 2

原创 redis事务

Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。总结的来说,redis事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。基于上面的问题,那我在一个客户端操作的时候,把所有的指令一次性按照顺序排他的放在一个队列中,执行完了之后再让其他的客户端操作。加入事务的命令暂时进入到任务队列中,并没有立即执行,只有执行exec命令才开始执行。

2024-04-07 18:03:43 187 1

原创 自定义数据源

可以注册一个DataSource数据实现类的bean,根据springboot的条件注解配置规则。//单个数据源@Bean//多个数据源配置@Primary@Bean@Bean。

2024-04-01 09:32:50 207 1

原创 redis缓存

缓存(Cache)就是数据交换的 缓中区,俗称的缓存就是缓冲区内的数据。

2024-03-25 08:22:56 483

原创 MYSQL实现行转列的三种方式

【代码】MYSQL实现行转列的三种方式。

2024-03-18 09:42:49 1211 2

原创 hashMap数据结构

当遇到上述的情况时,就需要平衡二叉树的出场,也就是AVL树,这个树他会在每次插入的时候检查每个节点的的左子树和右子树的高度差至多等于1,如果>1,就需要进行左旋或者右旋的操作,从而使其查询的复杂度一直维持在O(logN)。任何相邻的结点都不能同时为红色,红色结点是被黑色结点隔开的,每个节点,从该节点到达其可到达的叶子结点的所有路径都包含相同数目的黑色结点。红黑树不会追求像平衡二叉树那样绝对的平衡,插入最多两次旋转,删除最多三次旋转,在应对频繁插入、删除的业务场景时,红黑树的时间复杂度是由于平衡二叉树的。

2024-03-10 20:01:23 365

原创 SpringBoot缓存

中使用@EnableCaching注解启用缓存功能时,如果你想使用Redis作为缓存存储,你需要在配置文件中指定Redis的相关配置。注解来启用缓存功能。缓存类型type的值。加入依赖后,通过使用。

2024-03-03 20:18:43 538 2

原创 SpringBootRest服务调用

一般使用RestTemplateBuilder创建一个自定义的RestTemplate,可以设置请求、读取时间等。通过实现并注册一个 RestTemplateCustomizer 接口的实例,实现附加其他的自定义配置。@Slf4j@Component@Override@Override可以通过WebClient.Builder来自定义WebClient的配置。

2024-02-25 22:49:03 1088 4

原创 Easyexcel设置表头居中、内容自适应宽度

【代码】Easyexcel设置表头居中、内容自适应宽度。

2024-01-28 21:23:22 2581 4

原创 spring boot 常用的 Cron 表达式

在使用定时调度任务的时候,我们最常用的,就是cron表达式了。通过cron表达式来指定任务在某个时间点或者周期性的执行。cron表达式配置起来简洁方便,无论是Spring的@Scheduled还是用Quartz框架,都支持cron表达式。

2024-01-21 22:17:11 484 2

转载 注解实现重试机制

@Retryable注解实现重试机制

2024-01-14 20:11:28 230 5

原创 spring boot 自动配置

Spring Boot自动装配(Auto Configuration)是Spring Boot框架的一个关键特性,它通过约定大于配置的方式来简化项目的配置过程。自动装配允许开发人员使用默认的配置,同时也可以根据需要进行定制化。Spring通过使用@Autowired注解、注解以及条件化配置等机制,实现了自动装配的功能。通过在类的构造方法、成员变量或方法上使用@Autowired注解,Spring容器可以自动满足Bean之间的依赖关系。当容器启动时,它会扫描并识别带有@Autowired。

2024-01-07 20:40:26 1433 2

原创 Java使用Steam流对数据进行分组并排序

collect(Collectors.groupingBy(PlanManagerTotalVo::getAreaCode)) // 根据Map对象中的"areaCode"属性进行分组。// 将结果放入有序的LinkedHashMap中。.sorted(Map.Entry.comparingByKey()) // 按照键("areaCode"属性的值)进行排序。

2024-01-01 17:26:42 4709 2

原创 全局唯一id

基于以上2个特性,采用INCR命令来实现分布式全局ID生成。

2023-12-24 21:59:23 464 1

原创 RabbitMQ

它接收、存储和转发消息,并确保消息按照预定的规则路由到合适的接收者。通过使用RabbitMQ,开发人员可以构建可扩展、高性能和松耦合的分布式系统,实现异步通信,提高系统的可靠性和可伸缩性。RabbitMQ是一个开源的消息中间件软件,用于在分布式系统中进行消息的传递和处理。它实现了高级消息队列协议(AMQP),提供了可靠的消息传递、灵活的消息路由和消息处理的能力。RabbitMQ是一个功能丰富且可靠的消息中间件,提供灵活的消息路由和异步通信机制,帮助开发人员构建可靠、可扩展和松耦合的分布式系统。

2023-12-17 16:38:38 400 2

原创 SpringBootAdmin设置邮件通知

,以及协议和其他 SMTP 属性。请替换示例中的占位符和值为你的实际信息。这些配置项包括邮件通知的启用状态 ()、SMTP 服务器信息 (

2023-12-10 22:07:04 961 3

原创 SpringBoot Admin

Spring Boot Admin 是一个管理和监控 Spring Boot 应用程序的开源项目,它提供了一个简洁的 Web 界面来监控 Spring Boot 应用程序的状态和各种运行时指标。Spring Boot Admin 可以帮助开发者快速了解应用程序的状态,并快速定位错误或性能问题。下面是 Spring Boot Admin 的一些主要特点:1. 界面友好:Spring Boot Admin 提供了一个漂亮、干净、响应式的 Web 界面,支持数据实时更新和各种交互式组件。

2023-11-22 11:35:11 410 2

原创 Spring Boot Actuator:自定义端点

该类需要使用`@Endpoint`注解进行标记,并使用`@Component`注解将其作为Spring Bean进行管理。@Component在上述示例中,我们创建了一个自定义端点类`CustomEndpoint`,并使用`@Endpoint`注解指定了端点的ID为`customEndpoint`。`@ReadOperation`注解用于标识该方法处理读取操作的请求。在本例中,该方法返回一个自定义的响应字符串。

2023-11-17 17:00:00 367

原创 springboot actuator:开放全部(部分)端点、端点映射、端点保护

目前springboot默认暴露“/actuator、/health”端点。

2023-11-09 18:20:05 1594 6

原创 Windows 11 开启启用 Hyper-V选项

Hyper-V 是微软开发的基于硬件的虚拟机管理程序。它允许用户在 Windows 操作系统之上运行不同操作系统的多个实例。目前,Hyper-V 也支持 Windows、Ubuntu 和其他 Linux 发行版。如果发现像我这样电脑上启用Hyper-V选项可以按照以下步骤进行操作。

2023-11-03 05:00:00 1769

原创 Spring Boot Endpoints:端点

端点被启用后,并不一定能够被访问,还要看端点是否被暴露,并且暴露的方式是怎样的。因为端点可能会包含敏感信息,所以需要谨慎暴露相关端点。Spring Boot 3.0.0 更改了默认暴露的端点,默认以 JMX 和 Web 方式只暴露了 Health 一个端点。

2023-10-25 11:42:00 697

原创 Spring Boot Actuator 介绍

Endpoint 端点用来监控 Spring Boot 应用程序并能与之交互,Spring Boot 内置了许多端点,开箱即用。每个端点都可以通过 HTTP 或者 JMX(Java Management Extensions)的方式暴露出去,但绝大多数情况端点都是以 HTTP 的方式暴露,每个端点都会被映射为 /actuator/${ID} 方式,ID 即为端点的 ID,比如健康端点为:/actuator/health。

2023-10-25 11:16:12 728

空空如也

空空如也

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

TA关注的人

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