自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 GD32VW553-IOT LED呼吸灯项目

本项目基于GD32VW553-IOT开发板实现LED呼吸灯效果,通过PWM技术精确控制LED亮度。项目提供四种呼吸模式:正弦波、线性、指数和脉冲,每种模式采用不同算法实现独特的视觉效果。系统支持按钮切换模式、串口状态监控和PWM占空比实时显示功能,采用160MHz RISC-V处理器实现精确控制。项目展示了PWM技术在LED控制中的应用,代码结构清晰可扩展,为物联网设备开发提供了实用参考。该演示既可作为学习嵌入式开发的范例,也可作为产品原型的基础实现。

2025-07-15 19:42:26 449

原创 多线程八股文(自用)

3.DelayedWorkQueue :是一个优先级队列,它可以保证每次出队的任务都是当前队列中执行时间最靠前的,执行时间越早优先级越高,可以设置任务什么时候执行。打断阻塞的线程(sleep,wait,join)的线程,线程会抛出interruptedException异常。wait方法执行后会立即释放锁,允许其它线程获得对象锁(放弃CPU,别的线程还可用)JMM把内存分为两块:私有线程的工作区(工作内存),所有线程的共享区域(主内存)

2025-05-16 18:43:43 602

原创 MySQL八股(自用)

insert产生的undo log日志只在回滚的时候需要,事务提交之后可以被立即删除。幻读:查询数据时,没有对应的数据行,插入数据时,这行数据又出现了(插入)聚簇索引 将数据存储与索引放到一起,叶子节点保存了行数据 必须有,唯一。innoDB支持事务安全,支持表锁,行锁(另外两种不支持),支持外键。mvcc版本访问时也需要,因为有的线程会访问旧版本,不会立即删除。读取的是记录数据的可见版本,也可能是历史版本,不加锁,非阻塞读。事务:一组操作的集合,不可分割的工作单位,同时成功或同时失败。

2025-05-14 20:48:23 396

原创 java集合

扰动算法,hashcode高16位和低16位异或,使hash值更加均匀,减少hash冲突。(n-1)&hash 得到数组中的索引,代替取模,性能更好,数组长度必须是2的n次幂。4.3 遍历链表,有相同key覆盖,没有则进行尾插,链表长度大于8转换成红黑树。最坏退化为链表O(n),故引入红黑树,查询时间为O(logn)4.2 是否为红黑树,是则插入红黑树中,发现key存在,则覆盖。扩容resize,红黑树拆分的树节点小于等于6,退化为链表。(n-1)&hash 得到数组中的索引,代替取模,性能更好。

2025-05-14 16:33:01 420

原创 框架篇八股(自用)

一级缓存:HashMap本地存储,Session进行flush或close,Session中所有的Cache清空。2.调用目标方法时,进入拦截器invoke方法,发现目标方法为null值,执行sql查询。3.处理器映射器找到具体处理器,生成处理器对象以及处理器拦截器,返回给前端控制器。3.处理器映射器找到具体处理器,生成处理器对象以及处理器拦截器,返回给前端控制器。修改、删除操作后,默认该作用域下的所有select中的缓存被clear。4.操作数据库的接口,Executor执行器,同时负责查询缓存的维护。

2025-05-13 19:59:46 483

原创 微服务八股(自用)

Hystrix熔断机制,监控微服务调用情况,默认关闭(引导类添加注解打开)区域可用的服务器为基础进行服务器选择,再对区域内的服务器进行轮询(默认)请求失败率超过一定阈值,触发熔断(快速失败),一定时间内重新尝试请求,RM资源管理器:向TC注册报告分支事务状态,驱动分支事务提交、回滚。不能响应,继续走熔断机制,微服务可达,关闭熔断,恢复正常请求。通过配置类(全局)或者配置文件配置(局部,某一个服务调用)TM事务管理器:定义全局事务范围,开始、提交、回滚全局事务。

2025-05-13 18:29:33 1069

原创 RabbitMQ,Kafka八股(自用笔记)

其中一个leader,其余follower(副本),副本存储到不同的broker。省去了页缓存到kafka,kafka到socket缓冲区,缓冲区复制到网卡。日志文件(.log文件)超过一定阈值,删除最久消息(手动开启)集群各个节点共享数据(交换机,队列元信息,不包含消息信息)设置异步发送(传入一个回调函数,处理回调的结果)2.幂等:分布式锁,数据库锁(悲观锁,乐观锁)主从同步基于Raft,强一致(.quorum)零拷贝(上下文切换(用户内核),减少数据拷贝)acks = 0 速度最快,不等待服务器响应。

2025-05-13 14:05:24 656

原创 pdf加水印(python学习)(11.4)

这个脚本可以直接运行,并接受三个命令行参数:输入PDF文件、水印PDF文件和输出PDF文件。这展示了如何从命令行获取参数,并在脚本中使用这些参数。:PyPDF2是一个Python库,用于处理PDF文件。通过这个库,可以读取和写入PDF文件,以及操作PDF的页面。参数来分别打印到标准输出和标准错误输出,通常用于打印正常信息和错误信息。函数来安全地打开和写入文件,确保文件在操作完成后能够正确关闭。语句来捕获和处理可能发生的异常,保证程序的健壮性。来分隔目录和文件名,而在Python中,需要使用。

2024-11-04 18:56:13 715

原创 Docker使用复习(11.3)

只需要一次配置好环境,可以在别的机子上一键部署。

2024-11-03 17:35:14 1395

原创 批量转换图片格式(python学习)(11.3)

【代码】批量转换图片格式(python学习)(11.3)

2024-11-03 16:42:52 351

原创 二叉排序树的小案例(11.2)

这段代码写的时候有一个坑,当删除节点只剩两个节点,再删除剩余根节点的时候,会走这个if语句,如果不对这种情况做特殊处理(判断parent是否为null)则无法删除,输出结果是错的。

2024-11-02 19:08:28 259

原创 python学习:批量调整图片大小(11.2)

'.jpg'、'.jpeg'和'.png'是常见的图片格式。:Pillow是PIL(Python Imaging Library)的一个分支,是一个强大的图像处理库,简单易用。:os是Python的标准库之一,提供了许多与操作系统交互的功能,如文件和目录操作、环境变量处理等。批量调整目录中的图片大小,为每个图片文件设置新的宽度和高度,并保存修改后的图片。函数通常用于组织程序的执行流程,在这里它用于设置图片调整的参数并调用。返回目录中的所有内容,包括文件和子目录。循环用于迭代目录中的每个文件名,

2024-11-02 12:54:46 251

原创 在目录中按扩展名分类文件(python学习)(11.1)

模块,这是Python的标准库之一,提供了许多与操作系统交互的功能,如文件和目录操作。:这是Python中常见的模式,如果这个脚本是作为主程序运行的,那么就执行。:创建一个新的目录路径,这个路径是以文件扩展名命名的新目录。是Python的标准库,提供了许多文件操作的高级函数。:将文件从原来的位置移动到以扩展名命名的新目录中。函数创建一个目录,包括创建其所有父目录。索引获取列表的最后一个元素,即扩展名。:检查以扩展名命名的新目录是否存在。:如果新目录不存在,则创建这个目录。,表示需要排序文件的目录路径。

2024-11-01 15:32:23 644

原创 苍穹外卖Day3test报错javax.websocket.server.ServerContainer not available

除了test的时候运行会报错,正常时候编写不会出错,不用管这个问题,继续往下进行。springboot 中集成websocket出的问题。测试会报错,启动程序不会报错。

2024-11-01 14:50:13 383

原创 @Transactional注解

例如,可以选择“required”(必须在事务中执行)、“requiresNew”(新建一个事务,如果已存在则挂起)等。注解的方法执行时,Spring 会确保该方法的所有数据库操作要么全部成功,要么在发生异常时全部回滚,从而保证数据的一致性和完整性。或者将注解放在具体的方法上,仅使特定的方法成为事务方法。注解,你可以指定事务的传播行为、隔离级别、超时时间、是否读已提交数据等属性。超时设置:定义事务应该在多少时间内完成,如果超过这个时间,事务会被自动回滚。声明事务边界:你可以将。

2024-11-01 09:36:11 221

原创 juc复习(下篇)(10.31)

写入:如果队列满了,就必须阻塞等待读取:如果队列是空的,必须阻塞等待生产。

2024-10-31 15:48:39 2092

原创 juc并发编程复习(上篇)(10.30)

Runtime 没有返回值,效率相比Callable较低。

2024-10-30 16:37:32 921

原创 Redis缓存双写一致性

reids中有数据需要与数据库中的一致redis中无数据,数据库中的值是新值,回写redis只读缓存读写缓存同步直写策略写数据库同步写redis保证缓存与数据库的一致性异步缓写策略mysql数据变动,业务允许出现一定时间后作用redis异常情况出现,失败动作重新修补,需要借助kafka或者RabbitMQ等消息中间件,实现重写重试采用双检加锁策略多个线程同时查数据库的一条数据,第一个查询数据的请求使用互斥锁其他线程获取不到锁阻塞等待,第一个线程查到数据增加缓存后面的线程直接走缓存。

2024-10-29 18:25:50 317

原创 二叉树的前中后序遍历,以及节点的查找,节点的级联删除简单小实例

System.out.println("二叉树为空");如果直接return的话可能访问不到右子树就直接返回了。二叉树的前中后序遍历,以及节点的查找,节点的级联删除。不可以在递归的时候直接return。而是定义一个中间变量进行保存。

2024-10-28 17:18:00 208

原创 Redis学习(单线程vs多线程)(10.28)

版本3.x,最早版本,单线程版本4.x,处理客户端请求单线程,异步删除多线程版本6.0.x,7.0,多线程。

2024-10-28 16:04:45 586

原创 Mysql复习(10.28)

关系型数据库(sql)通过外键关联建立表与表之间的关系非关系型数据库(nosql)对象的形式存储数据。

2024-10-27 11:02:54 292

原创 Mysql索引学习(10.26)

提高查询效率,为列创建索引(快速定位)索引是表,保存主键或索引字段,以及将记录指向实际表的指针非聚簇索引:索引中保存字段值的地址聚簇索引:索引中保存字段的值。

2024-10-26 20:55:59 170

原创 Mysql事务学习(10.26)

要么都执行,要么都不执行。

2024-10-26 20:06:35 172

原创 hash查找算法的简单小案例

hash算法

2024-10-26 17:58:56 247

原创 Scanner输入next()和nextline()使用不恰当导致的错误

变量时,如果输入的名字后面跟了一个换行符(即你按了 Enter 键),那么这个换行符会被。System.out.println("请输入id");System.out.println("请输入名字");之后按 Enter,只会触发一次 "请输入名字" 的提示。System.out.println("list:遍历雇员");System.out.println("请输入id");System.out.println("请输入名字");读取了换行符,它认为你已经输入了名字,所以会尝试创建一个。

2024-10-26 17:26:52 960

原创 学习springcloud中的小问题(10.26)

通过注解,你可以定义全局的异常处理方法,这样无论何时Controller中出现异常,都会经过这些方法的处理。:你可以自定义全局的响应格式,比如统一的返回结果封装,或者对返回结果进行处理,如日志记录等。:在多个Controller中如果有相同的异常处理或响应处理逻辑,可以通过类来集中管理,减少代码冗余。:全局的异常处理和响应处理使得代码更加整洁,便于维护和后续扩展。

2024-10-26 14:40:20 909

原创 Gateway网关简单介绍

API网关服务,为微服务提供简单有效的统一的API路由管理方式

2024-10-25 15:53:18 299

原创 OpenFeign简要介绍

Feign是声明式Web客户端。

2024-10-25 10:45:27 370

原创 Consul服务中心相关知识点

分布式服务发现和配置管理系统服务治理功能

2024-10-25 10:13:55 333

原创 Maven:父工程使用dependcyManager引入依赖爆红,dependcyManager使用简介

父工程引入依赖爆红

2024-10-25 09:42:55 336

原创 Micrometer+ZipKin简单介绍

分布式链路跟踪系统图形化的工具

2024-10-25 09:20:37 205

原创 CircuitBreaker断路器与Resilience4J简单介绍

轻量级容错库,服务熔断,降级实现CircuitBreaker规范最低java17三大核心模块:resilience4j-Circuitbreaker:断路resilience4j-bulkhead:舱壁resilience4j-ratelimiter:速率限制。

2024-10-24 21:00:31 983 2

原创 jvm超简洁版提纲

栈:基本数据类型,引用数据类型,实例对象的方法堆:new出的对象和数组方法区:Class对象,static变量,常量池。

2024-10-24 16:29:59 1781 1

空空如也

空空如也

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

TA关注的人

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