骆驼整理说
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Nacos热部署原理
Nacos的配置热更新功能依赖于客户端与服务端之间的监听机制。当某个配置项被客户端监听时,Nacos客户端会向服务端发送一个长轮询请求(Long Polling)。一旦配置发生变化,服务端会立即返回新的配置内容给客户端,并触发客户端的回调函数以完成配置的动态更新。若配置发生变化,则返回最新的配置内容。当Nacos中的配置发生变化时,Spring Cloud的上下文刷新机制会自动更新。以下是一个简单的Spring Boot应用程序,展示了如何使用Nacos实现配置的动态更新。Nacos的监听机制通过。原创 2025-06-10 01:39:47 · 488 阅读 · 0 评论 -
Nacos是什么?Nacos有哪些功能?
Nacos原创 2025-06-10 01:25:54 · 207 阅读 · 0 评论 -
Redis是什么
redis是什么原创 2025-06-10 00:28:12 · 84 阅读 · 0 评论 -
消息队列是什么
消息队列是什么原创 2025-06-10 00:19:53 · 104 阅读 · 0 评论 -
Netty自定义协议解析
在实现自定义协议解析之前,需要明确协议的具体格式。例如,一个简单的自定义协议可能包含以下字段:长度域:用于标识消息体的长度。消息头:包含版本号、命令类型等信息。消息体:实际传输的数据内容。| 长度 | 消息头 | 消息体 |字节大小: 4 8 N。原创 2025-06-09 23:48:50 · 309 阅读 · 0 评论 -
SpringCloud优势
Springcloud有哪些优点?为什么要用Springcloud?原创 2025-06-09 23:13:45 · 361 阅读 · 0 评论 -
Netty框架
Netty框架原创 2022-12-14 18:01:35 · 9015 阅读 · 0 评论 -
MCP构建Agent
MCP配置和使用方式原创 2025-05-22 09:02:09 · 113 阅读 · 0 评论 -
SpringBoot Overview
家中虽有二亩田 温饱果腹尚且难 种田若能享清闲 何必离乡赚银钱。原创 2022-02-16 21:20:21 · 517 阅读 · 0 评论 -
SpringBoot自动装配过程
整个J2EE的整体解决方案和自动配置都在springboot-autoconfigure的jar包中,它将所有需要导入的组件以全类名的方式返回,然后被添加到容器中,把当前启动器需要的所有组件都导入进去 , 并配置好这些组件,有了自动配置类(xxxAutoConfiguration),免去了手动编写配置等工作。这些value就是自动配置类的全限定名,它们会被加载到Spring容器中。在这个过程中,会进行环境的准备、Banner的打印、上下文对象的创建、上下文的准备以及上下文的刷新等操作。原创 2024-11-04 19:32:36 · 276 阅读 · 0 评论 -
SpringBoot打包跳过测试类
在plugins里面加入一下依赖即可。原创 2024-11-04 19:14:23 · 401 阅读 · 0 评论 -
配置类如何读取yml文件
application.yml中配置的东西,通常是自动配置类中属性的值,只要存在于spring.factories中的,都可以在application.yml中进行配置。当然并不意味着不存在其中的就不能配置,这些配置类是可以进行自定义的,只要写了配置类,就可以在yml中配置需要的属性值,然后在配置类中直接读取这个配置文件,将其映射到配置类的属性上。在yml中配置的date-format,通过@ConfigurationProperties映射到类中的dateFormat中。原创 2024-11-04 19:10:44 · 267 阅读 · 0 评论 -
SpringBoot启动器
spring-boot-starter原创 2024-11-04 19:02:54 · 517 阅读 · 0 评论 -
SpringBoot约定大于配置
springboot约定大于配置原创 2024-11-04 18:52:01 · 537 阅读 · 0 评论 -
SpringBoot开箱即用
springboot开箱即用原创 2024-11-04 18:49:31 · 230 阅读 · 0 评论 -
spring.factories文件的作用
spring.factories文件解析原创 2024-11-04 15:27:52 · 885 阅读 · 0 评论 -
SpringBoot自动装配原理
springboot自动装备原理原创 2024-11-04 15:24:54 · 490 阅读 · 0 评论 -
Mybatis有哪些版本
在选择MyBatis和MyBatis-Spring版本时,需要注意它们之间的版本对应关系。Spring 4.x.x则与MyBatis 3.x.x和MyBatis-Spring 1.2.x配合使用等。MyBatis的版本命名采用了数字递增的方式,每个主版本(如3.x)下可能包含多个次版本(如3.1、3.2等)和修订版本(如3.1.1、3.1.2等)。截至2024年,MyBatis已经发布了多个3.x.x版本,其中最新的稳定版本是MyBatis 3.5.13,该版本发布于2023年3月11日。原创 2024-10-29 00:40:16 · 1363 阅读 · 0 评论 -
Spring Cloud有哪些版本
Springcloud版本原创 2024-10-29 00:36:13 · 700 阅读 · 0 评论 -
SpringBoot有哪些版本
SpringBoot有哪些版本原创 2024-10-29 00:30:17 · 1656 阅读 · 0 评论 -
Spring版本有哪些
Spring是一个轻量级的、开源的Java框架,其版本众多,每个版本都引入了新的特性和改进。原创 2024-10-29 00:24:02 · 886 阅读 · 0 评论 -
Nginx
nginx原创 2024-07-15 17:44:00 · 285 阅读 · 0 评论 -
Nacos如何实现热部署
这样,当Nacos配置变更后,标注了`@RefreshScope`的Bean会重新创建,从而刷新其中的`@Value`注入的配置项。微服务通过引入Nacos配置管理依赖、配置Nacos地址和服务信息、从Nacos拉取配置等步骤,实现了对Nacos中配置信息的实时感知和自动更新。微服务启动后,会根据`bootstrap.yaml`中的配置信息去Nacos中拉取对应的配置文件,并与本地的`application.yml`或其他配置文件进行合并。在微服务项目中配置Nacos的地址以及服务的相关信息。原创 2024-07-03 08:49:28 · 821 阅读 · 0 评论 -
Redis官方可视化工具
RedisInsight 是一个直观高效的 Redis GUI 管理工具,它可以对 Redis 的内存、连接数、命中率以及正常运行时间进行监控,并且可以在界面上使用 CLI 和连接的 Redis 进行交互(RedisInsight 内置对 Redis 模块支持)。RedisInsight 提供的功能:唯一支持 Redis Cluster 的 GUI 工具;通过配置的 IP 和端口,来访问 RedisInsight 的管理界面。:配置 RedisInsight 的数据存放路径(配置好然后访问就可以了。原创 2024-06-09 11:47:10 · 226 阅读 · 0 评论 -
Spring Cloud
SpringCloud原创 2024-05-25 11:42:08 · 173 阅读 · 0 评论 -
Dubbo
此外,Dubbo还提供了服务注册、发现、动态路由等功能,帮助管理分布式系统中的服务。Dubbo的主要特点包括面向接口代理的高性能RPC调用、智能负载均衡、服务自动注册与发现、高度可扩展能力、运行期流量调度以及可视化的服务治理与运维。在最新版本中,Dubbo引入了一系列新的功能升级,如Spring Boot Starter组件和新发布的Dubbo AOT(GraalVM Native Image),这些升级进一步提升了Dubbo的性能和易用性。虽然Dubbo具有许多优点,但它并不适用于跨语言调用的场景。原创 2024-05-25 11:37:14 · 169 阅读 · 0 评论 -
分布式系统
在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体。自治性:系统中的各个节点都包含自己的处理机和内存,各自具有独立的处理数据的功能。节点之间在地位上是平等的,既可以自治地进行工作,又能利用共享的通信线路来传送信息,协调任务处理。分布式系统是一个复杂但功能强大的架构,它能够有效地处理大量数据和任务,提供高可用性和高并发的服务,是现代计算机领域中不可或缺的一部分。分布性:分布式系统由多台计算机组成,它们在地域上是分散的,可以散布在一个单位、一个城市、一个国家,甚至全球范围内。原创 2024-05-25 11:31:20 · 352 阅读 · 0 评论 -
什么是分布式会话
当用户请求被分发到某个节点时,该节点可以从共享的数据存储中获取用户的会话数据,进行相应的处理,并将更新后的会话数据写回到共享存储中。在分布式系统中,用户的请求可能被分发到不同的服务器或节点上进行处理,这就带来了一个问题:如何确保不同节点之间能够共享和同步用户的会话数据,以保证用户在不同节点上的操作能够保持一致性和连续性?分布式会话是分布式系统中实现用户会话管理的一种重要机制,通过将会话数据存储在共享存储中,保证了用户在不同节点上的操作一致性和连续性,提高了系统的可用性、可扩展性和数据一致性。原创 2024-05-25 11:27:33 · 300 阅读 · 0 评论 -
SpringBoot
springboot原创 2024-05-24 22:33:14 · 307 阅读 · 0 评论 -
Spring MVC
渲染视图:视图解析器找到具体的视图后,DispatcherServlet会调用该视图,并将Model中的数据传递给视图。用户发送请求:当用户通过浏览器或其他客户端发送请求(如GET或POST请求)到Web服务器时,该请求首先被Spring MVC的前端控制器(DispatcherServlet)捕获。Spring MVC的工作原理体现了MVC设计模式的优势,通过将业务逻辑、数据模型和视图分离,使得代码更加清晰、可维护,同时也提高了系统的可扩展性和可重用性。原创 2024-05-24 22:22:58 · 320 阅读 · 0 评论 -
Web环境中的SpringMVC
在 web.xml 中,已经配置了 ContextLoaderListener,它是 Spring 提供的类,是为在 Web 容器 中建立 IoC 容器 服务的,它实现了 ServletContextListener 接口,这个接口是在 Servlet API 中定义的,提供了与 Servlet 生命周期 结合的回调,比如上下文初始化 contextInitialized()方法 和 上下文销毁 contextDestroyed()方法。具体说来,这个启动过程是和Web容器的启动过程集成在一起的。原创 2024-05-24 22:20:00 · 87 阅读 · 0 评论 -
Spring事物传播方式
事务的传播机制,多个事务方法之间调用,事务如何在这些方法之间传播。方法A是一个事务的方法,方法A执行的时候调用了方法B,此时方法B有无事务以及是否需要事务都会对方法A和方法B 产生不同的影响,而这个影响是由两个方法的事务传播机制决定的。方法持有事务方法未持有事务REQUIRED支持当前事务,如果没有事务会创建一个新的事务SUPPORTS支持当前事务,如果没有事务的话以非事务方式执行MANDATORY支持当前事务,如果没有事务抛出异常创建一个新的事务并挂起当前事务创建一个新的事务。原创 2024-04-22 18:55:19 · 136 阅读 · 0 评论 -
Spring三级缓存
这是一个工厂对象的缓存。2. 如果此时Bean A需要依赖Bean B,并且Bean B也还没有被创建,Spring会检查二级缓存(earlySingletonObjects)中是否有Bean B的早期对象。1. 当一个Bean A正在创建过程中,Spring会先为Bean A创建一个早期对象,并把这个对象的工厂放入三级缓存(singletonFactories)。6. 最后,Bean A也会完成所有依赖的注入,并从三级缓存中获取自己的早期对象引用(如果需要的话),然后完成初始化,并被放入一级缓存。原创 2024-04-22 17:41:26 · 497 阅读 · 0 评论 -
@Autowired和@Resource
,默认情况下要求依赖对象必须存在,如果不存在会抛出异常,要想允许依赖对象为null值,可以设置required属性为false,@Autowired(required=false),如果使用名称装配,可以结合使用@Qualifier,@Autowired@Qualifier(“name”)。@Resource(该注解由J2EE提供),默认按照名称进行装配,名称可以通过name属性进行指定,如果未指定name属性,当注解写在字段上时,默认取字段名查找,当找不到名称匹配的bean时,才按照类型进行装配。原创 2024-04-22 17:08:37 · 183 阅读 · 0 评论 -
Spring IOC工作流程
先获取资源定位,然后创建了一个默认的bean工厂,然后创建了一个Reader用来读取xml文件,将创建的defaultListableBeanFactory作为参数传递给Reader,表示为此工厂创建Reader,用Reader读取配置信息,并将解析的bean定义注册到defaultListableBeanFactory 中。这样bean工厂就正确初始化了,调用工厂的getBean()方法获取实例了。Spring用ApplicationContext包含了上面所有步骤。Person类作为bean。原创 2024-04-22 17:00:17 · 160 阅读 · 0 评论 -
Spring控制反转(IOC)是什么
Spring框架的核心特性之一是控制反转(Inversion of Control,IoC),这是一个核心概念,用于减少代码之间的耦合度,使程序更加模块化、可扩展和可测试。在Spring中,这个容器就是Spring IoC容器。在传统的程序设计中,在代码中直接创建对象并调用其方法,这样会导致代码之间的耦合度很高,不利于维护和扩展。通过使用控制反转,可以将对象的创建和生命周期管理交给Spring容器来负责,应用程序代码则只需要通过依赖注入(Dependency Injection,DI)来获取所需的对象。原创 2024-04-22 16:52:18 · 383 阅读 · 0 评论 -
Spring自带工具类
断言是一个逻辑判断,用于检查不应该发生的情况,Assert关键字在JDK1.4中引入,可通过JVM参数-enableassertions开启,SpringBoot中提供了Assert断言工具类,通常用于数据合法性检查。原创 2024-04-14 20:30:58 · 331 阅读 · 0 评论 -
依赖注入 DI
Spring支持使用@Resource@Inject三个注解进行依赖注入。@Component(“id”) id可选,告诉spring这是一个组件,交由spring管理, 相当于xml当中的配置。@Autowired 默认按类型进行装配(该注解由spring提供,原创 2024-04-14 20:29:31 · 150 阅读 · 0 评论 -
Spring容器获取bean实例
并将自己继承的类注入到Spring容器中,继承ApplicationObjectSupport来获取ApplicationContext。的一种方法,这个方法常见于SpringMVC实现的web项目中。将Bean注入到Spring容器中,通过注解,或者配置均可。对象,这个方法很常见于SpringMVC构建的web项目中。并将自己继承的类注入到Spring容器中。接口,在Spring容器启动的时候将。从工厂中直接获取Bean实例,但是。5.使用Spring提供的工具类。方法提供的方法也是常用的获取。原创 2024-04-14 20:27:05 · 465 阅读 · 0 评论 -
Spring循环依赖
这可以打破循环依赖,因为当Bean A尝试获取Bean B时,如果Bean B被标记为`@Lazy`,那么Bean B的初始化会被推迟,直到Bean A完全初始化并准备好使用Bean B时再进行。如果循环依赖中的Bean都可以通过构造函数注入来初始化,那么这是最简单的解决方案。4. 使用`@Qualifier`注解:当存在多个同类型的Bean时,`@Qualifier`注解可以帮助你指定注入哪一个Bean。良好的设计和编程习惯,如使用依赖注入、降低类之间的耦合度等,都是避免循环依赖的有效方法。原创 2024-04-14 20:25:15 · 421 阅读 · 1 评论
分享