自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式之【原型模式】详解

原型模式属于创建型模式,所以它是描述如何创建对象的模式。顾名思义,先搞一个原型对象出来,然后在这个原型对象的基础上修修补补再弄出一个新对象来。其核心是重写Object中的clone方法,调用该方法可以在内存中进行对象拷贝。这种模式的主要目的是为了提高性能和复用现有对象的状态。关键字就是Clone。

2025-04-08 08:13:08 521

原创 设计模式之【桥接模式】详解

桥接模式(Bridge Pattern)是一种​​结构型设计模式​​,通过将​​抽象部分与实现部分分离​​,使二者可以独立变化。它使用​​组合关系代替继承关系​​,避免因多层继承导致的类爆炸问题。通过桥接模式,可以在运行时动态地给一个抽象化的对象设置不同的实现化对象,这样就能够在不改动代码的情况下增加新的实现或者改变现有的实现。

2025-04-08 08:11:28 283

原创 设计模式之【工厂模式】详解

工厂模式提供了一种创建对象的方式,而无需指定要创建的具体类。通过使用工厂模式,可以将对象的创建逻辑封装在一个工厂类中,而不是在客户端代码中直接实例化对象,这样可以提高代码的可维护性和可扩展性。在java中,万物皆对象,这些对象都需要创建,如果创建的时候直接new该对象,就会对该对象耦合严重,假如我们要更换对象,所有new对象的地方都需要修改一遍,这显然违背了软件设计的开闭原则。

2025-04-07 08:36:30 672

原创 设计模式之【单例模式】详解

单例模式(Singleton Pattern)是一种常用的软件设计模式,其核心思想是确保一个类仅有一个实例,并提供一个全局访问点来获取这个实例。单例模式主要用于控制资源的访问,比如配置文件的读取,数据库的连接等,通过确保这类资源全局只有一个实例,既可以避免对资源的多重占用,又可以减少系统的性能开销。*** 饿汉式:预加载* 静态成员变量*///定义静态成员变量获取本类的实例//私有构造方法,避免通过new关键字来实例化对象,保证只存在一个实例//提供一个公共的访问类,让外界获取该对象。

2025-04-07 08:35:38 521

原创 如何保证Redis和MySQL数据的一致性解析

由缓存的调用者在进行更新数据库的同时更新缓存**更新数据:**在进行数据库数据修改的时候,一般都是删除缓存,然后缓存为空,等待查询时候判空再进行数据库的查询然后更新缓存,而不是每次去做更新数据都进行更新缓存操作。

2025-04-06 09:33:20 357

原创 设计模式之【组合模式】详解

组合模式(Composite Pattern)是一种​​结构型设计模式​​,用于将对象组合成​​树形结构​​以表示"整体-部分"的层次关系。通过让客户端以​​统一的方式处理单个对象和组合对象​​,实现了对树形结构中所有节点的透明化操作。核心思想:通过共享接口,使得​​叶子节点​​(单个对象)和​​容器节点​​(组合对象)可以被一致对待,客户端无需关心操作的是单个对象还是组合结构。

2025-04-06 09:32:40 1239

原创 快速了解Websocket技术

WebSocket是一种全双工网络通信协议,它提供了在单个TCP连接上进行全双工通信的渠道。WebSocket使得客户端(通常是浏览器)和服务器之间可以进行持续的双向数据交换。传统的HTTP协议是请求/响应模式,即客户端发起请求后,等待服务器响应;而WebSocket允许服务器主动向客户端推送信息,同时也允许客户端与服务器进行实时通信。

2025-04-05 10:07:18 937

原创 Spring中事务失效的原因详细解析

在同一个类内部,一个方法直接调用另一个带有 @Transactional 注解的方法时,调用的是对象的实际方法,而不是通过代理对象调用,因此事务增强逻辑不会被触发,导致事务失效。如果在一个带有事务的方法中开启了新的线程进行数据库操作,新线程中的操作不会参与到原线程的事务中,即使原线程的事务出现异常回滚,新线程中的操作也不会回滚。原因:Spring 的事务管理需要配置相应的事务管理器。如果没有正确配置事务管理器,或者在使用 @Transactional 注解时没有指定正确的事务管理器,事务将无法正常工作。

2025-04-05 09:49:20 416

原创 解决remote: error: GH007: Your push would publish a private email address.

注意:请将user.email更改为GitHub分配给您的电子邮件。它位于https://github.com/settings/emails。

2025-04-05 09:41:01 107

原创 redis远程连接不上解决办法

redis远程连接不上解决办法。

2025-04-03 18:40:26 184

原创 升级JDK17,报错:Exception java.lang.reflect.InaccessibleObjectException: Unable to make protected native

在 JDK1.8 及之前,这个属性是打开的,意思就是 1.8 前会反射出里面的所有方法。我们都知道反射会消耗性能。然而这些方法的使用频率不高,为了这些比较少调用的代码牺牲这些性能不值得,所以从 JDK1.8 后大量包的可访问反射属性都被关闭了,lang 就是其中之一。JDK17中把 accessiable 属性设置为 false 了。翻译:”base 模块中没将 lang 模块打包到未命名模块。

2025-04-03 18:40:12 196

原创 基于SpringCloud的商城项目之Elasticsearch(下)

精确查询,英文是Term-level query,顾名思义,词条级别的查询。也就是说不会对用户输入的搜索条件再分词,而是作为一个词条,与搜索的字段内容精确值匹配。css样式肯定是前端实现页面的时候写好的,但是前端编写页面的时候是不知道页面要展示什么数据的,不可能给数据加标签。而服务端实现搜索功能,要是有elasticsearch做分词搜索,是知道哪些词条需要高亮的。当我们利用match查询时,文档结果会根据与搜索词条的关联度打分(_score),返回结果时按照分值降序排列。bool查询,即布尔查询。

2025-03-09 19:43:03 642

原创 高并发下订单库存防止超卖策略

在并发的场景下,比如商城售卖商品中,一件商品的销售数量>库存数量的问题,称为超卖问题。主要原因是在并发场景下,请求几乎同时到达,对库存资源进行竞争,由于没有适当的并发控制策略导致的错误。

2025-03-09 19:41:55 460

原创 基于SpringCloud的商城项目之Elasticsearch(上)

Elasticsearch的关键就是倒排索引,而倒排索引依赖于对文档内容的分词,而分词则需要高效、精准的分词算法,IK分词器就是这样一个中文分词算法。其中的id字段已经创建了索引,由于索引底层采用了B+树结构,因此我们根据id搜索的速度会非常快。综上,根据id精确匹配时,可以走索引,查询效率较高。虽然要先查询倒排索引,再查询词条的正排索引,但是无论是词条、还是文档id都建立了索引,查询速度非常快!根据rest风格,新增是post,查询应该是get,不过查询一般都需要条件,这里我们把文档id带上。

2025-02-28 21:23:08 950

原创 基于SpringCloud的商城项目之MQ(下)

在开启确认机制的情况下,当生产者发送消息给MQ后,MQ会根据消息处理的情况返回不同的回执。比较优雅的一种处理方案是RepublishMessageRecoverer,失败后将消息投递到一个指定的,专门存放异常消息的队列,后续由人工集中处理。极端情况就是消费者一直无法执行成功,那么消息requeue就会无限循环,导致mq的消息处理飙升,带来不必要的压力。可以设置最大重试次数。注意:在开启持久化机制以后,如果同时还开启了生产者确认,那么MQ会在消息持久化以后才发送ACK回执,进一步确保消息的可靠性。

2025-02-25 08:57:25 775

原创 基于SpringCloud的商城项目之MQ(上)

SpringAMQP。

2025-02-25 08:56:33 969

原创 基于SpringCloud的商城项目之Sentinel、Seata

XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准,XA 规范 描述了全局的TM与局部的RM之间的接口,几乎所有主流的数据库都对 XA 规范 提供了支持。虽然每个单独的业务都能在本地遵循ACID,但是它们互相之间没有感知,不知道有人失败了,无法保证最终结果的统一,也就无法遵循ACID的事务特性了。这就像是水电站的大坝,起到蓄水的作用,可以通过开关控制水流出的大小,让下游水流始终维持在一个平稳的量。

2025-02-24 10:04:02 856

原创 基于SpringCloud的商城项目之Nacos、OpenFeign、Gateway

技术栈:Spring Cloud Alibaba、Spring boot、MyBatis-Plus、RabbitMQ、ElaticSearch、Docker。服务划分:用户服务(UserService)、商品服务(ItemService)、购物车服务(CartService)、支付服务(PayService)、交易服务(TradeService)。

2025-02-24 10:02:51 798

原创 论文研读之“YOLO v3”目标检测深度学习算法一文看懂!

YOLO v3!

2025-01-21 15:36:09 625

原创 论文研读之Cross-Domain Few-Shot Object Detection via Enhanced Open-Set Object Detector

跨域小样本目标检测模型研读。

2025-01-21 15:35:21 1059

原创 【养老项目】重点!!项目学习心得图解day14 基于WebSocket的消息实时提醒

WebSocket支持双向通信,它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建。WebSocket并不能完全取代HTTP,它只适合在特定的场景下使用。WebSocket是长连接,受网络限制比较大,需要处理好重连。当设备上报数据的时候,我们需要根据报警规则进行过滤。

2025-01-15 09:42:57 240

原创 【养老项目】项目学习心得图解day13 基于阿里云iot平台的消息处理

每次数据库存新的设备数据时,都在缓存存一份,使得最新的设备数据在缓存中留一份。由于可能有多个设备,每个设备有多个监控指标,每个指标可能每分钟就会更新一次,这样数据库对应的表数据量会特别大。如果客户端需要查看设备数据时,直接去数据库找效率特别低。而缓存只存当前最新的一份数据,需要直接去缓存找效率高。AmqpClient实现ApplicationRunner接口,启动类启动时自动调用run方法,run方法调用start方法。

2025-01-15 09:41:35 322

原创 论文研读之“YOLO v1”目标检测深度学习算法一文看懂,YOLO开篇之作,必读!

YOLO开篇之作,必读!YOLO v1详细解读,附图片分析。

2025-01-14 09:58:50 1015

原创 【养老项目】项目学习心得图解day12 基于阿里云iot平台的智能设备管理

在后台管理系统中,是需要自己维护设备,不需要创建产品,因为产品直接物联网平台创建添加即可。需要单独维护设备的原因是,设备需要跟养老院的老人或者位置进行绑定,才能做到精准的监控。

2025-01-14 09:55:35 262

原创 “Java岗八股文”2025版史上最新最全超详细易理解,面试必备(三)MyBatis篇

Mybatis面试必备知识点。

2025-01-13 10:08:58 1964

原创 重写(Override)和重载(Overload)

重写和重载的区别。

2025-01-13 10:07:38 199

原创 论文研读之“Faster RCNN”目标检测深度学习算法一文看懂

Faster-RCNN作为一种two-stage的算法,与one-stage的算法相比,two-stage的算法更加复杂且速度较慢,但是检测精度会更高。

2025-01-10 09:28:21 1773

原创 The server socket has failed to bind to ?UNKNOWN? (errno: 98 - Address already in use).

当一个进程持续杀不死,杀死之后换一个PID继续占用该端口时,可能是有一个父进程持续生成占用该端口的子进程。,根据返回信息获取父进程号,杀死该父进程。,查看当前使用该端口的进程,得到进程号。

2025-01-10 09:26:42 272

原创 “Java岗八股文”2025版史上最新最全超详细易理解,面试必备(二)Spring MVC篇

SpringMVC面试必备八股文。

2025-01-09 15:06:08 940

原创 RuntimeError: CUDA error: CUBLAS_STATUS_NOT_SUPPORTED when calling `cublasSgemmStridedBatched

解决bug

2025-01-09 14:52:18 568 1

原创 【养老项目】《重点!!》项目学习心得图解day06(二) 权限认证-数据权限

数据权限:对于同一类数据,拥有不同角色的用户看到的数据可能是不同的。一共有五种数据范围(数据权限) :(1)本人 : 只能看到自己创建的数据(2)本级 : 只能看到本部门创建数据(3)本级及子级 :可以看到本部门和本部门以下所有子部门的数据(4)全部: 全部的数据,不筛选。(5)自定义数据 : 当你选择自定义数据时,会让用户选择部门,该角色只可以看到这些部门创建的数据。查询业务数据时就可以按照该数据权限所属范围进行筛选。

2025-01-08 09:59:09 230

原创 “Java岗八股文”2025版史上最新最全超详细易理解,面试必备(一)Spring篇

本文包含Spring相关的面试必备八股文,带代码和图帮助理解。

2025-01-08 09:57:12 749

原创 【养老项目】《重点!!》 项目学习心得图解day06(一)权限认证-SpringSecurity&JWT

JwtAuthorizationManager是一个授权管理器,它实现了SpringSecurity的AuthorizationManager接口,用于处理用户的授权逻辑。核心功能验证用户的userToken和jwtToken。检查用户是否被剔除。根据请求的路径和用户权限,决定是否允许用户访问资源。处理jwtToken的续期逻辑,确保令牌在接近失效时可以延长有效期。

2025-01-06 10:28:34 443

原创 【养老项目】项目学习心得图解day04(二)岗位管理

岗位管理,包括添加、删除、修改、分页查询岗位。

2025-01-06 10:25:33 301

原创 【养老项目】项目学习心得图解day05 (有补充)SpringSecurity认证授权

Springsecurity入门。

2025-01-02 20:37:53 258

原创 【养老项目】《重点!!》项目学习心得图解day04(一)部门管理&spring cache

养老项目的部门管理,集成Spring cache解决缓存问题,还使用事务管理保证数据一致性、完整性和可靠性。

2025-01-02 20:36:43 257

原创 【养老项目】项目学习心得图解day03预约管理 xxl-job定时任务

养老项目分为两端,分别是管理后台和小程序端(家人端),day01和day02开发的功能都属于管理端。预约功能属于小程序端的功能,如果有客户对养老院比较感兴趣,也可以在小程序端发起预约参观,不过在发起预约的时候,我们需要获得到客户的手机号,需要用户登录后才能预约,所以在做预约功能之前,我们先来完成微信登录的功能。

2024-12-26 21:23:39 591 4

原创 【养老项目】项目学习心得图解day01-02 护理项目管理 阿里云oss

中州养老实现思路流程图。它是一款智能化养老服务管理系统,涵盖了智能健康监测、权限管理、订单管理等多个功能模块,旨在为养老服务机构提供信息化管理方案,同时实时握老人的健康状况和护理情况,提高服务质量,减少管理成本。技术栈:SpringBoot+SpringMVC+MyBatis+Vue.js+MySQL工作内容:前端开发采用Vue3+TyepScript+TDesign完成页面开发和交互采用Redis+SpringCache进行缓存处理采用阿里云OSS对象存储来存储项目中的文件。

2024-12-23 22:17:25 408

原创 论文研读之TPSeNCE-去雨和雨天目标检测

不幸的是,由于合成和自然雨天图像之间存在很大的域差距,这些方法不能很好地推广到现实世界的雨天图像。**然而,传统的基于模型的雨生成方法,依赖于过于简化的假设和手工设计的先验,无法准确地模拟不同类型的真实降雨。相比之下,数据驱动的深度学习方法,例如像 UNIT [23] 这样的不成对的图像到图像翻译方法,已经证明了它们在不同天气条件下翻译图像的能力。例如,如果图像的鉴别器输出矩阵是一个 100x100 的矩阵,则矩阵中的每个元素表示对应像素点为真实像素点的概率,取值范围为 0 到 1。

2024-04-04 10:10:24 2350 2

空空如也

空空如也

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

TA关注的人

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