- 博客(136)
- 收藏
- 关注
原创 SCSS详解
SCSS作为一种CSS预处理器脚本语言,通过引入变量、嵌套规则、混合宏等编程特性,扩展了CSS的功能,使得样式表的编写更加高效、灵活和可维护。它适用于各种前端项目,尤其是复杂和大型的项目。然而,在使用SCSS时也需要注意其劣势和潜在的问题,并合理地使用其功能以避免样式表的混乱。
2025-03-11 21:00:03
461
原创 分布式事务的原理
分布式事务是指涉及多个独立服务或资源的事务,这些服务或资源可能位于不同的服务器、数据库或其他系统上。在分布式系统中,由于数据分布在不同的节点上,事务的处理变得更加复杂。传统的单机事务(本地事务)由数据库管理系统(DBMS)保证ACID特性(原子性、一致性、隔离性、持久性),但在分布式环境下,需要跨多个节点保证数据的一致性和完整性。分布式事务是分布式系统中的一个关键技术挑战,涉及到数据的一致性、性能、网络延迟和故障容错等问题。不同的分布式事务解决方案各有优缺点,需要根据具体的业务场景和需求选择合适的方案。
2025-03-10 23:36:48
802
原创 雪花算法
雪花算法是一种高效、可靠的分布式ID生成算法,通过组合时间戳、数据中心ID、机器ID和序列号,确保生成的ID在全局范围内唯一且有序递增。它广泛应用于分布式系统中的唯一ID生成,为系统的数据管理和查询提供了便利。然而,在使用雪花算法时,也需要注意时钟回拨、机器ID唯一性等问题,以确保算法的正确性和稳定性。雪花算法是一种由Twitter开源的分布式ID生成算法,广泛应用于分布式系统中,用于生成全局唯一的ID。雪花算法生成的ID是一个64位的二进制数,通常表示为long型整数。
2025-03-09 23:42:52
752
原创 Seata
Seata致力于提供高性能和简单易用的分布式事务服务,它为用户提供了AT、TCC、SAGA和XA等多种事务模式,以满足不同业务场景的需求。这些事务模式为用户打造了一站式的分布式解决方案。
2025-03-07 21:10:57
700
原创 分布式 ID 设计方案
分布式ID设计方案在分布式系统中至关重要,它必须满足全局唯一性、可扩展性、排序性(有时)、避免碰撞、去中心化、可用性和紧凑性等多个要求。
2025-03-05 21:07:53
1183
原创 服务降级
服务降级是保障分布式系统稳定性和可用性的重要手段之一。通过合理规划和实施服务降级策略,可以在系统面临异常情况时有效减轻负载、保护核心服务、提升用户体验。然而,服务降级也需要谨慎操作,避免对用户体验造成过大影响,并建立完善的恢复机制以确保系统能够迅速恢复正常状态。
2025-03-04 21:02:09
371
原创 什么是分布式和微服务?
综上所述,分布式系统和微服务架构都是现代软件开发中的重要概念和技术手段。分布式系统强调系统的分布性和协作性,而微服务架构则是一种实现分布式系统的具体方法和技术手段。在实际应用中,需要根据具体的需求和场景来选择合适的技术方案。
2025-03-03 21:02:09
1112
原创 零拷贝?
零拷贝(Zero-Copy)是一种优化数据传输的技术,旨在减少或消除数据在传输过程中从用户空间到内核空间之间的拷贝操作,从而提高数据传输效率。零拷贝技术广泛应用于文件I/O、网络通信等领域。
2025-03-02 20:12:45
620
原创 Nacos
Nacos是Dynamic Naming and Configuration Service的首字母简称,是一个动态服务发现、配置管理和服务管理平台,用于构建云原生应用。
2025-02-28 21:04:57
365
原创 Spring Cloud
Spring Cloud是一个功能强大且易于使用的微服务框架,它提供了丰富的组件和功能来帮助开发人员快速构建和管理分布式系统。无论是在电商、金融、物联网还是其他场景中,Spring Cloud都可以为开发人员提供强大的支持。
2025-02-27 21:02:29
698
原创 IO和NIO
IO是计算机中的输入/输出(Input/Output)的简称,指的是计算机系统与外部设备之间进行数据交换的过程。在编程中,IO操作通常涉及文件的读写、网络通信等。NIO(Non-blocking I/O 或 New I/O)NIO是Java领域中的一种同步非阻塞的I/O模型,也被称为New I/O。它允许一个线程处理多个连接的I/O操作,被广泛应用于大型应用服务器,特别是在需要解决高并发与大量连接、I/O处理问题的场景中。
2025-02-26 20:57:33
474
原创 Markdown
Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式来编写文档,然后转换成有效的HTML(标准通用标记语言下的一个应用)。
2025-02-25 21:05:36
380
原创 Element UI日期选择器默认显示1970年解决方案
通过绑定 `Date` 对象而非数字、正确处理数据转换和事件监听,可以彻底解决 Element UI 日期选择器默认显示1970年的问题。初始化时使用日期对象。交互时提取年份数字。动态切换时刷新数据。正确实现后的效果:日期选择器默认显示当前年份,切换年份时数据动态更新,用户体验流畅。
2025-02-23 21:25:53
1273
原创 Spring Bean的生命周期执行流程
综上所述,Spring Bean的生命周期执行流程涵盖了从创建前准备、创建实例、依赖注入、初始化、容器缓存、使用到销毁的整个过程。Spring提供了丰富的接口和扩展点,允许开发者在生命周期的各个阶段进行自定义操作,从而实现更灵活和可扩展的Bean管理。
2025-02-19 20:55:08
787
原创 SpringBoot中自动装配机制的原理
排除配置类在@SpringBootApplication注解中排除特定的自动配置类。条件化覆盖通过自定义@Bean来覆盖默认的自动配置Bean。修改配置属性在application.properties或application.yml文件中修改相关属性,以控制自动装配的行为。综上所述,SpringBoot的自动装配机制是一种基于约定和配置的机制,它能够通过读取spring.factories文件、应用条件注解、排序加载配置类等方式自动为应用程序加载和配置需要的Spring组件。
2025-02-18 20:50:58
657
原创 Spring如何解决循环依赖
解决循环依赖问题的关键在于重构代码、合理使用依赖注入方式以及利用Spring提供的机制(如三级缓存、@Lazy、@PostConstruct等)。设计良好的应用通常不会产生复杂的循环依赖问题,因此在代码结构上进行适当的优化和调整,是解决循环依赖的根本方法。同时,开发者在设计和开发过程中应尽量避免产生循环依赖,以提高应用的稳定性和可维护性。
2025-02-17 19:28:37
378
原创 你认为如何理解“约定大于配置”?
定义:约定优于配置,也称作按约定编程,是一种软件设计范式。它本质上是对系统、类库或框架中一些东西假定一个大众化合理的默认值(缺省值)。只有在偏离这些约定时才需要做相关的配置。目的:通过一系列的默认设置和约定,减少开发人员需要显式配置的内容,从而让他们专注于业务逻辑,而不必过多关注框架的配置细节。
2025-02-14 20:57:04
336
原创 Redis集群
在实际应用中,需要根据具体业务需求和环境来选择合适的Redis部署方案。主从复制是一种数据复制机制,它允许一个Redis实例(主节点)将其数据复制到另一个或多个Redis实例(从节点)。这种机制主要用于提高数据的可用性、读取性能和数据安全性。:从节点定期向主节点发送心跳数据(通常是每秒一次),主节点根据心跳更新从节点的同步确认时间和最后通信时间,用于检测从节点的延迟和通信状态。哨兵机制是Redis提供的高可用性解决方案,它主要用于监控Redis主从架构中的节点状态,并在主节点发生故障时自动进行故障转移。
2025-02-05 09:47:28
934
原创 TCP协议介绍
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
2025-02-05 09:31:23
689
原创 MyBatis缓存
MyBatis是一款优秀的持久层框架,为了提高数据库查询性能,它内置了强大的查询缓存特性,即支持一级缓存和二级缓存两级缓存机制。
2025-02-05 09:14:30
844
原创 数据结构(AVL树、B-Tree、B+Tree)
B-Tree(Balanced Tree),即B树,是一种自平衡的树形数据结构,专为磁盘和其他直接访问的辅助存储设备而设计,广泛应用于数据库和文件系统中。AVL树是一种自平衡的二叉搜索树,它的特点是每个节点的左子树和右子树的高度差(平衡因子)的绝对值不超过1。综上所述,B-Tree是一种高效的数据结构,通过保持树的平衡性和有序性,支持高效的查找、插入和删除操作。综上所述,B+Tree的原理基于其特殊的数据结构和高效的查找、插入、删除操作。B+Tree的原理主要基于其数据结构和查找、插入、删除等操作的特点。
2025-02-04 20:21:24
1589
原创 SpringBoot+Vue的前后端分离项目完成跨域资源共享
CORS定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求。它允许服务器指定哪些源可以访问该服务器上的资源。在前后端分离的项目中,由于前端和后端通常部署在不同的域名或端口上,因此会出现跨域问题。跨域资源共享(CORS)在前后端分离的项目中是一个常见且重要的问题。通过后端配置(如使用@CrossOrigin注解、全局跨域配置、CorsFilter过滤器)、前端配置代理以及服务器配置(如Nginx)等方法,可以有效地解决跨域问题。在实际项目中,应根据具体需求和场景选择合适的方法。
2025-01-17 23:07:14
736
原创 SpringSecurity详解
Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架,用于在Java应用程序中提供安全机制。
2025-01-16 20:51:23
742
原创 SpringBoot项目中解决CORS跨域资源共享问题
在Spring Boot项目中解决CORS问题有多种方法,你可以根据项目的具体需求和安全考虑来选择合适的方法。通常,使用注解或全局跨域配置是最常见和推荐的做法。如果你使用了Spring Security,还需要确保在Spring Security的配置中正确启用了CORS支持。
2025-01-15 21:13:31
561
原创 Vue2实现上传图片到阿里云的OSS对象存储
在 Vue 2 项目中,将图片上传到阿里云的 OSS(对象存储)需要几个步骤,包括配置阿里云 OSS、获取上传凭证、在前端进行上传操作等。
2025-01-14 21:51:44
638
原创 JWT详解
JWT(JSON Web Token)是一种用于在网络应用间安全地传输信息的标准格式,它允许服务器之间以一种安全的方式来传递用户认证和其他信息。
2025-01-13 20:31:12
1009
原创 MySQL三大日志
MySQL数据库的日志系统是其核心组成部分,它记录了数据库运行期间的各种状态信息,对于数据库的维护、故障排查以及数据恢复等至关重要。其中,二进制日志(binlog)、重做日志(redo log)和回滚日志(undo log)是MySQL中最重要的三种日志。
2025-01-12 17:05:02
483
原创 MyBatis-Plus分页插件
MyBatis-Plus 是一个 MyBatis 的增强工具,在简化开发、提高效率方面有着显著的优势。MyBatis-Plus 提供了分页插件(Pagination Interceptor),可以方便地实现分页查询。
2025-01-09 21:08:50
406
原创 SpringBoot插件
SpringBoot的插件机制是其强大灵活性的重要体现,它允许开发人员将应用程序的不同功能模块打包为独立的插件,并可以动态地加载和卸载这些插件。
2025-01-08 22:25:57
551
原创 Linux安装Redis
通过以上步骤,你可以在Linux系统上成功安装并配置Redis服务器。然后,你可以根据需要进一步定制和优化Redis的配置以满足你的应用场景需求。注意将版本号替换为你想要下载的Redis版本号。
2025-01-06 20:35:07
877
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人