自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【MybatisPlus】MybatisPlus和Mybatis报Invalid bound statement (not found)问题

项目使用了MybatisPlus,多数据源和shardingsphere,所以自定义了数据源配置,按照需求去生成sqlSessionFactory,就遇到了MybatisPlus原生的BaseMapper中的方法无法使用,比如insert, update, selectList之类的,都出现了Invalid bound statement 问题。2,确认Mapper类的方法和xml文件中的方法名称,参数列表相同,返回类型相同。3,是否重复扫描,启动类和数据源配置 类扫描重复。

2024-05-13 22:39:32 164

原创 【Websokect】服务器https协议下ws连接失败问题及解决办法

在服务器使用HTTPS协议下连接WebSocket时,通常会出现一些常见的问题导致连接失败。确保您的服务器上已正确配置SSL证书,并且证书有效。如果证书配置不正确或者过期,客户端可能无法建立安全连接。请检查服务器的SSL证书配置,并确保证书链完整、证书有效。WebSocket服务需要在HTTPS协议下运行时,需要WebSocket容器(如Tomcat、Jetty等)支持TLS。确保您的WebSocket容器已正确配置,以支持WebSocket over TLS(wss协议)。

2024-04-24 04:32:14 3136

原创 【AntDesign】解决嵌套section或layout中,h1字体比h2小问题

问题:以下情况均会导致h1比h2小,具体原因是浏览器默认样式里面,对h1不同层级设置了特殊的样式,方法2: 对css参数覆盖。

2024-03-01 20:35:57 300

原创 【OpenFeign报错排查】Could not extract response: no suitable HttpMessageConverter found for response type

起因:当调用get方法时,报错Could not extract response: no suitable HttpMessageConverter found for response type,解释就是无法序列化成Result,也就是返回值根本就不是一个json或者不是你需要的Result对象,通过对get2和get3方法的验证,发现get3方法返回值是一个500异常报错(也可以通过开启feign日志排查)

2024-02-27 20:57:18 2519

原创 【深入理解 Java 并发】Future、CompletableFuture 和 FutureTask

通过学习和理解Future和FutureTask这些类,我们可以更好地处理复杂的并发编程场景,提高程序的性能和效率。这些类提供了丰富的功能和灵活的操作方式,使得我们能够更好地利用多核处理器的性能优势。希望本文能够帮助读者深入理解并发编程,在实际开发中更加灵活地运用这些类来处理并发任务。

2024-02-15 10:44:20 779

原创 【antdv】a-back-top失效问题及解决办法

原因:a-back-top组件没有绑定好所设置需要监听其滚动事件的元素。

2024-01-24 19:46:14 641 1

原创 【MyBatisPlus】MyBatisPlus之id生成策略的方法

本文介绍了MyBatisPlus框架中的三种主键生成策略,即雪花算法、UUID和自增长。使用这些策略,可以为实体类生成唯一、有序的主键值。注意,在使用自增长策略时,需要使用MySQL数据库才能生效。

2023-12-03 18:35:25 852

原创 【Linux】常用系统工作命令

在Linux系统中,目录、字符设备、套接字、硬盘、光驱、打印机等都被抽象成文件形式,“Linux系统中一切都是文件”。Linux系统中的一切文件都是从"根"目录(/)开始的,并按照文件系统层次标准(FHS)采用倒树状结构来存放文件,以及定义了常见目录的用途。管道符命令 | 把前一个命令原本要输出到屏幕的数据当作是后一个命令的标准输入。dd 用于按照指定大小和个数的数据块来复制文件或转换文件。stat 用于查看文件的具体存储信息和时间等信息。cat 命令 用于查看纯文本文件(内容较少的)

2023-11-18 15:00:52 615

原创 【面向对象】理解面向对象编程中的封装性

封装性是面向对象编程中的重要概念之一,它允许开发者将数据和方法组合成一个独立的单元,并通过定义访问权限来控制对这个单元的访问。本文将深入探讨面向对象编程中的封装性,包括封装的概念、实现封装的方式以及封装的好处。本文深入探讨了面向对象编程中的封装性,包括封装的概念、实现封装的方式以及封装的好处。封装是面向对象编程的基石之一,对于构建复杂的软件系统具有重要意义。封装是面向对象编程的核心原则之一,它指的是将数据和操作数据的方法封装在一个单元中,对外部隐藏内部实现的细节,只公开必要的接口供其他对象使用。

2023-10-27 21:39:00 303

原创 【异常】理解Java中的异常处理机制

异常处理是Java编程中的重要概念之一,它可以帮助开发者识别和处理程序运行过程中的错误和异常情况。本文将深入探讨Java中的异常处理机制,包括异常的分类、异常处理的语法和最佳实践。通过示例代码和详细解释,读者将能够更好地理解和应用Java中的异常处理技术。本文深入探讨了Java中的异常处理机制,包括异常的分类、异常处理的语法和最佳实践。通过理解和应用这些异常处理技术,开发者可以更好地识别和处理程序中的错误和异常情况,提高程序的健壮性和可靠性。标题:理解Java中的异常处理机制。

2023-10-26 23:03:37 727

原创 【多线程】探索Java中的多线程编程

Java是一种广泛使用的编程语言,具有强大的多线程编程能力。本文将深入探讨Java中的多线程编程,包括线程的创建、同步与互斥、线程池的使用以及常见的多线程编程模式。通过示例代码和详细解释,读者将能够更好地理解和应用Java中的多线程编程技术。本文介绍了Java中的多线程编程技术,包括线程的创建、同步与互斥、线程池的使用以及常见的多线程编程模式。通过深入理解和应用这些技术,开发者可以充分发挥Java在多线程编程方面的优势,提高程序的性能和并发处理能力。标题:探索Java中的多线程编程。

2023-10-26 23:01:45 667

原创 【AI使用场景】50个在工作流中的运用场景示例

这些只是在工作流中应用AI的一些示例,实际上,AI在各行各业都有广泛的应用。随着技术的不断发展和创新,我们可以期待更多新的AI应用出现,带来更高效、智能和便捷的工作流程。在工作流中,人工智能(AI)可以应用于各种场景,提高效率、减少错误,并自动化一些重复性的任务。

2023-10-25 17:35:49 552

原创 【基础架构设计】仿12306系统公共组件设计深度解析

*** SpringCloud Gateway Token 拦截器* @公众号:马丁玩编程,回复:加群,添加马哥微信(备注:12306)获取项目资料*/@Component/*** 注销用户时需要传递 Token*/@Override// TODO 需要验证 Token 是否有效,有可能用户注销了账户,但是 Token 有效期还未过if (!});= null;局部过滤器和全局过滤器。局部过滤器(GatewayFilter)

2023-10-25 17:24:05 527

原创 【24种设计模式】单例模式(Singleton Pattern)

当我们需要确保一个类只有一个实例时,可以使用单例模式。单例模式确保一个类只有一个实例,并提供一个全局访问点来获取该实例。单例模式有多种实现方式,包括饿汉式、懒汉式和双重检查锁等。下面我们将分别介绍这些实现方式的特点和示例。

2023-10-24 18:45:08 1138

原创 【24种设计模式】工厂模式(Factory Pattern)

工厂模式是一种创建型设计模式,它提供了一种创建对象的方式,而无需暴露对象创建的逻辑。在这篇博客中,我们将介绍工厂模式的概念、使用场景以及示例代码。

2023-10-24 18:40:26 326

原创 【24种设计模式】观察者模式(Observer Pattern)

这种模式实现了一种一对多的对象依赖关系,当一个对象的状态改变时,所有依赖它的对象都会得到通知并自动更新。总结起来,观察者模式通过定义主题和观察者之间的接口,实现了一种松耦合的对象间通信方式。观察者模式中,通知观察者的算法骨架是固定的,但具体的通知操作可以由不同的观察者进行实现。在状态模式中,状态的改变会导致行为的改变,而在观察者模式中,状态的改变会导致通知给观察者。发布-订阅模式:发布-订阅模式是观察者模式的一种扩展,它将观察者分组,通过消息队列、事件总线等机制实现观察者与主题之间的松耦合通信。

2023-10-01 01:12:05 484

原创 【24种设计模式】责任链模式(Chain of Responsibility Pattern)

责任链模式是一种行为设计模式,它允许你将请求沿着处理链进行传递,直到有一个处理者能够处理该请求为止。这种模式将请求的发送者和接收者解耦,使多个对象都有机会处理该请求。

2023-09-27 18:46:26 426

原创 【RocketMQ】sendDefaultImpl call timeout 问题及其解决办法

第一步:首先来到rocketmq目录下,修改conf文件夹下broker.conf 文件当中的配置。第二步:如果正在运行mqnamesvr还有mqbroker的话,需要先shutdown它们。启动broker时,需用-c conf/broker.conf,读取配置文件。第三步:重新运行mqnamesvr和mqbroker。需修改broker.conf,设置公网IP。需要开放10911、10909这两个端口。

2023-09-26 23:52:49 1306 1

原创 【24种设计模式】装饰器模式(Decorator Pattern(Wrapper))

通过使用装饰器模式,我们可以动态地向需要发送的消息添加额外的加密行为,而不需要修改原始的消息发送逻辑。在示例中,secureEmailMessage 是对 emailMessage 的装饰,通过调用 send() 方法,会先进行加密操作,然后再发送邮件。装饰器模式是一种结构型设计模式,用于动态地给对象添加额外的行为或责任,而不需要改变原始对象的结构。通过创建一个包装器类(装饰器),它包含原始对象的引用,并提供与原始对象相同的接口,可以在运行时灵活地添加、修改或移除原始对象的功能。

2023-09-06 02:07:57 679

原创 【24种设计模式】适配器模式(Adapter Pattern)

需要注意的是,适配器模式应该在有必要时才使用。如果在系统设计初期就能够预见到接口的变化或兼容性问题,那么最好在设计阶段就进行相关调整,避免引入适配器。此外,当系统越复杂时,使用适配器模式可能会增加代码的复杂性和理解难度,因此需要在评估后谨慎使用。

2023-08-28 23:15:57 684

原创 【Java反射】探秘Java反射机制:常用方法与最佳实践

Java反射是指程序在运行时检查和操作类、方法和字段等的能力。通过反射,我们可以动态地获取和操作类的信息,调用方法,访问和修改字段,以及实例化对象等。反射机制为我们提供了更大的灵活性和动态性。

2023-08-18 00:29:53 180

原创 【Spring源码】小白速通解析Spring源码,从0到1,持续更新!

>进行依赖注入(bean里的属性)–>执行afterPropertiesSet()(InitializingBean的一个回调方法,同@PostConstruct)–>初始化后是否需要AOP–>AOP–>代理对象(target=普通对象)–>把对象放入Map单例池。bean–>推断构造方法(默认是无参构造,或指定的构造方法)–>实例化成普通对象(相当于new bean)在A创建的过程中,A的属性B需要注入属性A。

2023-08-14 23:47:54 917

原创 【ConcurrentHashMap1.8源码】十分钟逐行深入ConcurrentHashMap并发之美

利用countcells+baseCount来统计节点数,总的来说就是多个线程去竞争baseCount,只能有一个线程能拿到资源,其他线程就会去countcells数组里竞争,在countcell里的value+1,最后size()方法就是统计countcells数组里所有的value值+basecount就是总的节点数。默认就是返回一个负数,rs

2023-08-05 23:35:30 86

原创 【ConcurrentHashMap1.7源码】十分钟带你深入ConcurrentHashMap并发解析

ConcurrentHashMap采用了分段锁的设计,当需要put元素的时候,并不是对整个hashmap进行加锁,而是先通过hashcode来知道要放在哪一个分段中,然后对这个分段进行加锁,所以当多线程put的时候,只要不是放在一个分段中,就没有锁竞争,实现真正的并行插入。相比于对整个Map加锁的设计,分段锁大大的提高了高并发环境下的处理能力。

2023-08-05 00:11:04 168

原创 【HashMap1.8源码】十分钟带你深入HashMap1.8源码逐行解析

链表转红黑树:条件是大于8并且数组长度大于64,散列在新数组上不一定在同一个链表上,根据hash高低计算新坐标,拆分成两个链表红黑树转链表:条件是某一高低位上的节点小于等于6时。

2023-07-29 21:58:13 231

原创 【公共组件设计】刚果商城(congomall)公共组件设计深度解析,优雅!

META-INF/spring.factories 自动装配首先,这个类实现了接口,表示它是一个监听应用启动事件的监听器。在类的开头,引入了一些必要的包,并对版权进行了声明。接下来是类的定义和成员变量的声明,其中@Resource注解用于注入对象。代码中的是一个标志位,用于确保事件只执行一次。默认情况下,它被设置为true。在方法中,通过加锁的方式保证在多线程环境下只执行一次。在方法内部,首先判断是否为true,如果是,则发布一个事件,表示应用正在初始化。然后将设置为false。

2023-07-17 18:07:08 1650

原创 【IDEA2023】解决IDEA中快捷键Alt+Enter不能引入局部变量

搜索refactorings,将Introduce local variable这个选项勾选上。将Introduce local variable这个选项勾选上。

2023-07-17 17:54:47 1241

转载 【Alibaba异常处理规范】SpringBoot封装项目统一异常处理

异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性。Throwable: 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。

2023-07-05 16:15:25 574

转载 【Stable Diffusion】安装过程中常见报错解决方法

转自:https://openai.wiki/stable-diffusion-error.html。

2023-06-15 22:45:56 47876 11

原创 【Stable Diffusion】Stable Diffusion各类模型描述

Stable Diffusion 是一种新型的生成模型,它可以用于生成高质量的图像、文本和音频等多种形式的数据。

2023-06-15 22:25:16 19326

原创 【PHP】PHP数据库基本连接和SQL操作

【代码】【PHP】PHP数据库基本连接和SQL操作。

2023-06-15 01:06:00 250

原创 【AI人工智能】50个AI技术在商城的应用和服务

50个AI技术在商城的应用和服务智能客服机器人:通过 AI 技术可以实现商城的智能客服功能,为用户提供24小时在线的咨询、答疑和解决问题的服务。可以利用自然语言处理和深度学习等技术,让机器人像人类一样理解用户提问,并给出相关的答复。推荐引擎:利用AI技术,可以根据用户的历史购买记录、浏览行为等信息,为用户推荐相似或相关的商品。可以采用基于内容的推荐、基于协同过滤的推荐或者混合推荐等不同的算法模型。欺诈检测:在商城中,欺诈是一个非常严重的问题,可以借助AI技术,实现对用户行为的实时监测和分析,发现和防

2023-06-10 12:08:46 877

原创 【MySQL】解决已安装服务名找不到问题

服务没有mysql可能是因为长时间未使用导致服务自动关闭,需要在管理员状态下运行cmd窗口并切换至mysql/bin的文件夹,或者通过netstartmysql命令启动。如果还是无法解决问题,可以尝试重新安装mysql。以管理的身份在命令提示符下输入mysqld -install来安装服务。

2023-06-08 18:22:16 456

原创 【GithubDesktop】GithubDesktop Authentication failed

【代码】【GithubDesktop】GithubDesktop Authentication failed。

2023-06-08 17:37:13 1939

原创 【minio】8.x版本与SpringBoot2.x版本不兼容报错

8.4.3版本回退到7.1.4版本。

2023-06-08 02:37:13 622

原创 【RocketMQ】sendDefaultImpl call timeout发送超时

错误异常:Caused by: org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout原因:控制台集群地址是服务器内网的地址,必须改为外网的地址。

2023-06-07 15:39:29 1191

原创 【docker】docker常用命令

【代码】【docker】docker常用命令。

2023-06-06 23:36:12 56

原创 【Java8-Lambda】优雅封装语句中执行前置方法和后置方法

在这个工具类中,我们定义了一个泛型方法 executeWithLog,该方法接受一个 java.util.function.Supplier 对象作为参数,这个对象的 get() 方法返回一个泛型 T 类型的结果。方法内部先执行前置操作,然后调用 Supplier 对象的 get() 方法获取结果,最后执行后置操作并返回结果。你可以定义一个泛型方法,传入一个 java.util.function.Supplier 接口对象作为参数,该接口的 get() 方法返回一个泛型 T 类型的值。

2023-05-04 23:50:49 421

原创 【Bug】MybatisPlus在事务中切换数据源失效问题

解决:使用@DSTransactional注解可以控制多数据源进行回滚。场景:在处理业务中使用@Transactional注解提交事务。

2023-05-04 23:46:17 514

原创 【开发规约】框架版本号定义

主版本号 . 子版本号 . 修正版本号Major_Version_Number.Minor_Version_Number.Revision_Number主版本号 :当项目在进行了重大修改或局部修正累积较多,而导致项目整体发生全局变化时,主版本号加 1。子版本号 :当项目在原有的基础上增加了部分功能时,主版本号不变,子版本号加 1,修正版本号复位为 0,因而可以被忽略掉。修正版本号:当项目在进行了局部修改或 BUG 修正时,主版本号和子版本号都不变,修正版本号加 1。

2023-04-25 19:34:44 603

空空如也

空空如也

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

TA关注的人

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