
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
定义:微服务网关是整个系统请求的统一入口,负责请求转发、过滤处理、安全校验等。作用请求路由日志记录权限控制参数校验解决跨域问题黑白名单控制限流、熔断、降级统一前后端接口调用@Component@Override幂等性控制:使用 token 防重复提交HTTPS 加密传输MD5 签名防篡改API 权限控制(白名单、黑名单、OAuth2)熔断、降级、隔离防止雪崩Swagger 文档统一管理Spring
摘要:Spring Cloud官方已用自研的LoadBalancer替代Netflix Ribbon负载均衡组件。两者主要区别在于:LoadBalancer支持响应式编程(WebClient)且维护更新,而Ribbon已停止维护。迁移时,RestTemplate使用方式不变,自定义策略需改用ReactorServiceInstanceLoadBalancer接口。建议新项目直接采用LoadBala
摘要:Builder模式是一种创建型设计模式,通过分步骤构建复杂对象避免构造函数参数过多问题。其核心结构包括Product、Builder和ConcreteBuilder,在Java中常用内部静态类实现。示例展示了User类的Builder实现,支持链式调用和可选参数设置。在SpringBoot中广泛应用,如Lombok的@Builder注解自动生成代码,以及RestTemplateBuilder
RabbitMQ批量消费实现方案摘要: 原生RabbitMQ仅支持批量确认,不支持真正的批量消费,可通过两种方式确认消息: 单条确认(basicAck(tag,false)) 批量确认(basicAck(lastTag,true)) Spring Boot实现批量消费的两种方式: YAML配置:需设置consumer-batch-enabled:true和batch-size Java配置:通过S
加载顺序父类静态块 → 子类静态块(只执行一次,类加载时执行)父类实例块 → 父类构造方法子类实例块 → 子类构造方法不同点main在Child:启动时就加载Child和Parent,所以静态块最早执行。main在Test:只加载Test,等用到时才加载,所以静态块延迟执行。静态方法属于类级别,不会触发对象创建。如果类未加载,会先触发类加载(从而执行静态块)。
本文介绍了MySQL性能优化的核心工具和方法。EXPLAIN命令用于分析SQL执行计划,重点关注type、rows、Extra等关键字段,判断查询是否使用了索引、是否存在全表扫描等问题。慢SQL排查思路包括开启慢查询日志、使用EXPLAIN和SHOW PROFILE等工具分析。常见优化场景涉及全表扫描、索引失效、排序分组等问题,解决方案包括添加合适索引、优化SQL写法(避免SELECT*/函数运算
摘要: Java线程中,BLOCKED与WAITING状态的核心区别在于等待机制: BLOCKED:线程被动等待获取synchronized锁(如锁被占用),需等待锁释放后才能继续执行(如线程B等待线程A释放锁)。 WAITING:线程主动放弃执行权(通过wait()或park()),需其他线程显式唤醒(如notify())。 比喻:BLOCKED像排队等进屋,WAITING像进屋后坐下等人叫醒。
Java线程有6种状态:NEW、RUNNABLE(含Ready和Running)、BLOCKED、WAITING、TIMED_WAITING和TERMINATED。线程在不同状态下会进入不同队列:就绪队列存放等待CPU的RUNNABLE线程;阻塞队列存放获取锁失败的BLOCKED线程;等待队列存放执行wait/sleep等操作的WAITING/TIMED_WAITING线程。状态转换时,被唤醒的线
场景1 公司git上有了一个项目,让你把代码拉到本地,然后添加功能并传上去 1.首先获取远程仓库 使用 git clone <远程仓库URL> 命令。例如: git clone https://xxx/xxx/xxx.git 这个命令做了几件关键事情: 在你的本地机器上创建一个新目录(默认与仓库同名,这里是 project)。 将远程仓库的所有文件和历史提交记录完整地下载到这
本文介绍了Spring Security框架在Spring Boot项目中的核心应用。主要内容包括:1)框架功能概述(认证、授权、防护);2)核心配置实现,涉及安全拦截规则、用户认证、密码加密(推荐BCrypt)和登录控制;3)关键代码示例,如WebSecurityConfig配置类、自定义UserDetailsService认证逻辑、基于注解的权限控制(@PreAuthorize);4)数据库集







