logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

如何创建一个 Springboot Starter

AutoConfiguration// Spring Boot 2.7+ 引入,等价于 @Configuration 且有自动配置语义。@ConditionalOnClass(GreeterService.class)// 当类路径中存在该类时才生效。1.创建一个 空项目 xxx-spring-boot-starter 作为场景启动器,方便别人引用。* 问候语前缀,默认为 "Hello"* 问候语

#spring boot#java#spring
Springboot自动装配原理

TomcatSpring MVCJackson但项目却能直接启动。原因就是:Spring Boot 根据依赖自动帮你创建了这些 Bean。

#spring boot#后端#java
springboot 如何解决循环依赖的

在 Spring Boot(准确说是 Spring Framework)的单例 Bean 中,循环依赖通常指:形成:Spring 如何解决循环依赖对于单例 Bean + Setter/Field 注入,Spring 使用 三级缓存(三级缓存机制) 解决循环依赖。创建 A 时:此时 A 还没完成依赖注入。Spring 将 A 的 ObjectFactory 放入三级缓存:第二步:A 注入 B发现需要

#java#spring#开发语言
如何创建一个springboot starter

Spring Boot Starter 本质是“自动配置 + 条件装配 + SPI注册 + 依赖封装”的工程化封装机制。

#java#spring boot#开发语言
synchronized 锁升级的过程

无锁 → 偏向锁(单线程)→ 轻量级锁(自旋)→ 重量级锁(阻塞),全部通过 CAS 修改对象头 Mark Word 实现,目的是在低竞争时避免操作系统互斥量开销。

#java
什么是Kubernetes

是一个开源的,最初由 Google 开发,后来捐赠给 Cloud Native Computing Foundation。

#kubernetes#容器#云原生
查看容器运行日志

默认情况下:优先使用docker logs -f --tail 200 <容器名>实时跟踪。应用自身日志:建议也输出到 stdout/stderr,同时写入文件,方便和文件持久化两种方式。生产环境:使用json-file驱动并配置max-sizemax-file,或者采用等集中日志系统。不要手动删除/var/lib/docker/containers下的json.log文件,应使用truncate

#java
Rocketmq如何保证顺序消费

通过“消息分配到固定队列 + 队列单线程消费 + 锁机制 + offset顺序提交”实现的局部FIFO模型。

#java#开发语言
dubbo和openfeign 远程过程调用有什么区别

可以这样回答:Dubbo 和 OpenFeign 的本质区别在于通信模型不同:Dubbo 是 RPC 框架,基于 TCP 长连接和二进制协议,实现方法级别的远程调用,性能高、治理能力强。OpenFeign 是基于 HTTP 的声明式客户端,本质是对 REST API 的封装,通过 JSON + HTTP 实现服务调用,简单但性能相对较低。Dubbo 更偏“分布式服务治理体系”,而 OpenFeig

#java
    共 15 条
  • 1
  • 2
  • 请选择