编辑
2023-11-24
Java
00

Java线程池常用的阻塞队列有以下几种类型:

  1. LinkedBlockingQueue:这是一个基于链表实现的无界阻塞队列。它的特点是可以无限制地添加元素,当任务数量超过核心线程数时,多余的任务会被放入该队列中等待执行。[1]
编辑
2023-11-24
SpringBoot
00

Spring Boot自动装载实现starter和bean的生命周期

在Spring Boot中,自动装载是一项重要的功能,它可以帮助我们简化项目的配置和管理。自动装载通过使用starter和bean的生命周期管理来实现。

编辑
2023-11-24
后端
00

六大设计原则

设计模式是软件开发中常用的一种解决问题的方法论,它提供了一套经过验证的解决方案,可以帮助开发人员设计出可重用、可扩展和易于维护的代码。在设计模式中,有六大设计原则,它们是:

  1. 开闭原则(Open-Closed Principle,OCP):软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。这意味着在添加新功能时,不应该修改已有的代码,而是通过扩展已有的代码来实现新功能。这样可以保证系统的稳定性和可维护性。
编辑
2023-11-24
后端
00

TCP拥塞控制是为了防止网络拥塞而采取的一系列措施。下面是一个客户端连接服务端的socket程序的整个过程:

编辑
2023-11-24
mysql
00

MySQL的redo log、undo log和relay log是MySQL数据库中的不同类型的日志文件,它们各自具有不同的作用和功能。

  1. Redo Log(重做日志):
    • 概念:Redo log是InnoDB存储引擎层生成的日志,用于实现事务的持久性。
    • 组成:Redo log由两部分组成,即重做日志缓冲(redo log buffer)和重做日志文件(redo log file)。重做日志缓冲位于内存中,而重做日志文件存储在磁盘上。
    • 作用:Redo log的主要作用是确保事务的持久性。当事务提交时,相关的修改操作会首先被记录到重做日志缓冲中,然后异步地刷新到磁盘的重做日志文件中。这样,在数据库发生故障或崩溃时,可以通过重做日志文件中的日志信息来恢复未完成的事务,保证数据的一致性和完整性。