- 博客(33)
- 收藏
- 关注
原创 【@Transactional注解的使用方式】
通过注解的timeout属性,可以有效地控制事务的执行时间,避免长时间运行的事务占用系统资源。合理设置timeout值有助于提高系统的稳定性和响应速度。
2025-05-12 10:39:39
275
原创 【直接从项目中学习mybatis-plus人必看】
继承如果需要自定义分页查询,可以在 Mapper 中编写自定义 SQL,并使用IPage作为返回类型。在 XML 中编写对应的 SQL 语句:</
2025-05-09 10:20:03
919
原创 【直接从项目中学习下mybatis的人必看】
MyBatis 插入语句可以设置为返回插入记录的主键值。这可以通过在insert语句的 XML 配置中添加和来实现,其中指定要自动生成的主键,指定将该主键值设置到哪个属性中。例如:</在这个例子中,表示要使用数据库自动生成的主键值,在这种情况下,可以在插入数据后通过User对象的getId()方法获取插入记录的主键值。
2025-05-07 17:08:14
953
原创 【Mybatis-plus常用语法】
MyBatis-Plus 是 MyBatis 的增强工具,提供了很多便捷的功能来简化开发。这些是 MyBatis-Plus 的一些常见语法,你可以根据具体的业务需求来选择合适的功能和方法来简化开发。
2025-05-07 11:39:06
337
原创 【IOC和AOP的理解】
在IOC中,对象之间的依赖关系由容器来管理,对象的创建和销毁也由容器来负责,开发者只需要关注业务逻辑的实现,而不需要关心对象之间的关联关系。AOP是一种编程范式,它指的是面向切面编程,可以将程序中的交叉关注点(如日志、事务、安全等)从业务逻辑中分离出来,以便于重用和管理。通过AOP可以实现对多个类或多个方法的横切关注点进行统一处理,而不需要修改原有的业务逻辑代码,从而提高代码的重用性和可维护性。综上所述,IOC注重对象的管理和依赖关系的控制,而AOP注重对交叉关注点的统一处理和重用。
2025-05-07 11:05:38
206
原创 【Mybatis缓存】
MyBatis 缓存是 MyBatis 提供的一种机制,用于缓存数据库查询结果,以提高系统性能和减少数据库访问次数。MyBatis 提供了两级缓存机制:一级缓存:也称为本地缓存,是 SqlSession 级别的缓存,当进行相同的查询时,会先从本地缓存中查找是否有对应的结果,如果有则直接返回,不会再去数据库查询。一级缓存是默认开启的,且在同一个 SqlSession 中是共享的。
2025-05-07 10:50:45
265
原创 【Spring、SpringBoot一些常用注解】
通过使用注解,开发者可以在Java类中直接使用注解来定义Bean、依赖注入、AOP等功能,而不需要在XML配置文件中进行繁琐的配置。: 用于实现自动装配,可以在字段、构造方法、Setter方法上使用,Spring会自动在容器中查找匹配的Bean进行注入。这些注解是Spring Boot开发中常用的一些注解,当然还有很多其他的注解可以用来简化开发和提高代码的可读性。:标记一个类,表示该类中的方法返回的都是Restful风格的数据。:通用的Spring组件注解,标记一个类为Spring的组件。
2025-05-07 10:39:49
362
原创 【RabbitMQ可靠性原理】
总的来说,通过持久化、确认机制、重试机制、死信队列和高可用性等特性,RabbitMQ 确保了消息传递的可靠性和稳定性,使得应用程序在使用消息队列时可以更加可靠地处理消息。重试机制:在消息传递过程中,如果由于消费者出现问题导致消息消费失败,RabbitMQ 支持消息的重试机制,让消费者可以重新处理消息。确认机制:RabbitMQ 提供了消息的确认机制,生产者发送消息后需要等待消费者的确认,确保消息已经正确地被消费。高可用性:RabbitMQ 支持集群部署,可以配置多个节点来提高可用性,避免单点故障。
2025-05-07 10:32:33
330
原创 【设计模式】
饿汉式(不存在线程安全问题)描述:在一个java类中,声明一个全局的静态对象。在程序启动,类加载的时候,就回创建这样一个对象。懒汉式(存在线程安全问题)描述:在一个java类中,声明一个全局的静态对象等于null,在类加载的时候,有个判断,如果这个对象为空,才创建这个对象,从而保证了程序启动的效率。双重检测锁(通过synchronized和两个if来解决)静态内部类枚举类型。
2025-04-30 09:19:26
337
原创 【JVM内存结构】
1.8及之后用的系统内存的元空间方法区的内存空间(系统内存结构)1.8之前用的永久带方法区内存空间(jvm内存结构)类加载过多,导致内存溢出。
2025-04-29 17:41:29
142
原创 【Docker安装及配置镜像加速器】
找到镜像加速器,找到对应系统的命令,复制执行就可以了。最后,执行命令,安装Docker。首先要安装一个yum工具。更新yum,建立缓存。
2025-04-25 14:24:36
284
原创 【MYSQL触发器】
案例:通过触发器记录tb_user表的数据变更日志,将变更日志插入到日志表user_logs中,包含增加、修改、删除。mysql触发器是行级触发器,影响多少行,就会出发多少次触发器。
2025-04-23 09:21:50
143
原创 Linux系统修改时区以及校准时间
通过阿里云提供的服务网址配合ntpdate(安装ntp后会附带这个命令)命令自动校准。需要root权限:ntpdate -u ntp.aliyun.com。
2025-04-10 16:50:57
332
原创 JAVA中线程池的种类及使用方式和场景
如果你需要更细粒度的控制,你可以直接使用ThreadPoolExecutor类,这是最灵活的线程池实现方式。int corePoolSize: 核心线程数。int maximumPoolSize: 最大线程数。long keepAliveTime: 当线程数超过核心线程数时,这是多余空闲线程在终止前等待新任务的最长时间。TimeUnit unit: keepAliveTime参数的时间单位。BlockingQueue workQueue: 用于保存等待执行的任务的阻塞队列。
2025-03-31 17:10:00
333
原创 【线程池核心线程数设置多少合适】
CPU 密集型任务 和 I/O 密集型任务 是根据任务对计算资源(CPU)和输入输出资源(I/O)的依赖程度来区分的。定义:I/O 密集型任务是指需要大量输入输出资源的任务,主要依赖磁盘、网络等 I/O 设备的性能。CPU 占用率低:任务执行时,CPU 使用率较低,大部分时间在等待 I/O 操作完成。定义:CPU 密集型任务是指需要大量计算资源的任务,主要依赖 CPU 的计算能力。I/O 操作少:任务很少涉及磁盘读写、网络通信等 I/O 操作。响应时间长:任务的执行时间主要取决于 I/O 设备的性能。
2025-03-31 16:56:32
119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人