当前位置: 首页 > news >正文

java常见面试题杂记

Spring相关

SpringMvc

过滤器和拦截器有什么区别?

SpringBoot自动装配问题

SpringCloud

SpringCloud是一系列框架的有序集合。一套基于SpringBoot的微服务结构框架,主要用于简化分布式系统的开发部署和运维。它通过提供服务发现,配置管理,负载均衡,断路器,数据监控等核心功能帮助开发者快速构建高可用,可扩展的微服务应用。

SpringCloud五大组件:

服务治理——服务注册与发现,eureka

客户端负载均衡——ribbon

服务降级,熔断——hystrix(已停止维护),新项目建议使用阿里的 Sentinel

负载均衡+熔断的集成;声明式客户端——feign

配置中心——config,微服务启动时从配置中心下载配置文件

调用链路追踪——sleuth

网关——Spring Cloud Gateway是Spring公司基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的APl路由管理方式。它的目标是替代Netflix Zuul,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控和限流。

定时器相关

Quartz框架

简介:Quartz是由OpenSymphony组织开发的开源Java任务调度框架,支持与J2EE/J2SE应用程序集成,用于创建复杂任务调度系统。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。

使用:Spring是整合了Quartz框架,需要在pom文件中添加spring-boot-starter-quartz依赖。

核心功能
‌任务调度‌:支持基于时间间隔(如每天、每小时)或Cron表达式(如"0 0 12 * *"表示每天中午12点执行)的灵活调度。 ‌
‌分布式处理‌:通过集群支持多节点负载均衡,确保高可用性。 ‌
‌持久化存储‌:可将任务信息持久化至数据库,重启后自动恢复状态。 ‌
‌监听器机制‌:支持任务执行前后的日志记录、通知触发等扩展功能。
核心组件
 1)任务Job(接口):即想要调用的任务类,需要实现org.quartz.job接口,并重写execute()方法,任务调度时会执行execute()方法。(最新版本继承QuartzJobBean类,重写executeInternal方法)
 2)触发器Trigger(接口):即执行任务的触发器,当满足什么条件时会去执行你的任务Job,主要分为根据时长间隔执行的SimpleTrigger和根据日历执行的CronTrigger。
 3)调度器Scheduler(接口):即将Trigger和Job绑定之后,根据Trigger中的设定,负责进行Job调度的组件。

代码示例:HelloJob类实现了Job接口重写了execute()方法

JobDetail jobDetail = JobBuilder.newJob(HelloJob.class) .withIdentity("myJob").build(); Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("cronTrigger") //cron表达式 这里定义的是4月16日早上9点21分开始执行 .withSchedule(CronScheduleBuilder.cronSchedule("0 21 9 16 4 ? *")) .build(); SchedulerFactory
http://www.cnnetsun.cn/news/1676221.html

相关文章:

  • SEO 关键字优化与内容营销的结合方法是什么
  • 解决Telegraf Kafka插件与Kafka 4.0兼容性问题:从报错到修复全指南
  • Extism终极指南:如何用WebAssembly框架构建可扩展应用
  • 计算机毕业设计:Python轨道交通数据可视化系统 Flask框架 数据分析 可视化 高德地图 数据挖掘 机器学习 爬虫(建议收藏)✅
  • Vue-Weixin 朋友圈功能实现全解析:图片上传与点赞评论交互详解
  • AI仿真人剧厂家2025推荐,提供定制化剧情服务
  • Docker 快速通关
  • Cats函数式编程终极指南:Parallel、Traverse、Foldable三大核心特性深度解析
  • COMSOL模拟管道电化学腐蚀与冲蚀
  • 打造专业视频编辑App时间线:基于android-advancedrecyclerview的终极拖拽实现指南
  • C++23 增强的 constexpr:在编译期完成复杂的路由哈希表构建与协议状态机合法性静态验证
  • FastBle单元测试终极指南:Mockito在Android蓝牙BLE开发中的7个实战技巧
  • 终极指南:@hapi/boom 如何简化 HTTP 错误处理
  • Java8核心能力篇-Lambda-Stream-Optional与日期时间
  • Claude Code每日更新速览(v2.1.91)-2026/04/03
  • HAA固件深度解析:从架构设计到核心组件实现原理
  • PromptSource模板推荐系统:基于任务自动选择最优提示的终极指南
  • AD9959 FPGA驱动开发:实现全通道FPA自由调控与任意FPGA移植
  • ai辅助开发:让快马平台智能诊断并生成最优的wsl ubuntu环境配置方案
  • S-UI缓存策略设计:API响应与静态资源缓存
  • OpenClaw内存优化:Qwen3-14B镜像在120GB内存下的性能调优
  • 基于三角波注入的永磁同步电机参数辩识:Simulink仿真模型及相关文章
  • hello-uniapp分包加载策略:解决小程序体积过大问题
  • S-UI数据库读写分离:提升查询性能的架构设计
  • ESP32 BLE鼠标库:支持高精度水平/垂直滚轮的HID设备实现
  • PromptSource性能瓶颈分析:大规模提示集合的优化方向
  • 10个EmojiPackage表情包创意用法:让社交媒体沟通更有趣
  • DS4Windows:在Windows上完美使用PlayStation手柄的终极解决方案
  • DeepSeek 总结的pgEdge for Postgres 的 MCP 服务器
  • AI大模型应用开发学习路线(2026最新)从零基础入门到精通,非常详细收藏我这一篇就够了!