- 博客(16)
- 收藏
- 关注
原创 Java设计模式全面解析
设计模式是软件设计中常见问题的可重用解决方案,是前辈开发人员经验的总结。使用设计模式可以提高代码的可重用性、可读性和可维护性,降低系统的耦合度。创建型模式:关注对象的创建过程结构型模式:关注类和对象的组合行为型模式:关注对象之间的交互和职责分配下面我们将详细探讨每种设计模式,并提供完整的Java代码示例。定义:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。适用场景系统需要独立于其产品的创建、组合和表示系统需要配置多个产品系列中的一个实现方式// 抽象产品A。
2025-09-15 20:59:17
662
原创 Prometheus 和 InfluxDB的对比,及其应用
两者各有侧重,选择哪一个取决于你的具体需求和偏好。在某些复杂场景下,甚至可以将两者结合使用,例如 Prometheus 负责短期监控和告警,而 InfluxDB 负责更长期的历史数据存储和分析。Prometheus 和 InfluxDB 都是流行的开源时序数据库,但它们在设计理念、数据模型、查询语言和适用场景上存在显著差异。Prometheus 会定期拉取这些数据并存储。你可以用 PromQL 查询。你可以用 InfluxQL 查询。
2025-09-04 11:27:43
904
原创 云函数 -- 核心概念、工作原理、开发指南和行业实践
云函数通过 无服务器架构开发效率提升:专注业务逻辑,运维成本降70%。成本结构优化:按需付费模式适合初创企业与峰值业务。未来趋势:与边缘计算结合,进一步降低延迟。更多AI场景下沉至函数计算(如实时视频分析)。实践建议:从小型场景切入(如定时任务、Webhook),逐步迁移核心业务模块。关注冷启动优化和状态管理,避免过度依赖厂商锁定。
2025-09-01 11:37:46
567
原创 SQL优化全指南:从慢查询到高性能的终极法则
在当今数据驱动的时代,数据库性能直接决定了系统响应速度和用户体验。。本文将系统解析SQL优化的核心方法,涵盖索引设计、查询重构、执行计划调优等关键领域,并附实战案例与避坑指南。
2025-08-29 18:35:11
922
原创 InfluxDB:高性能时序数据库的核心特性与应用实践
InfluxDB凭借其时序数据原生设计,已成为监控、IoT、实时分析领域的核心基础设施。通过合理的数据建模(标签优化)、查询降采样与集群扩展,可应对亿级数据点挑战。随着云原生与AI技术的融合,其生态边界将持续扩展。。
2025-08-28 15:43:38
915
原创 Java中小型项目定时任务解决方案 SpringBoot + Quartz
ScheduleJob.executeInternal() 触发后,会通过反射调用 DispatchTask.run() , 对定时任务的业务处理以此类为入口,逻辑在 ITask为前缀的 service 中。通过继承 QuartzJobBean 重写 executeInternal() 当有定时任务被触发时就会对此函数进行回调,JobExecutionContext 中可以获取任务所需参数。提供了一些常用方法,用于操作调度器 Scheduler。用于项目启动时从定时任务表中查询定时任务信息。
2024-10-10 22:11:54
1116
1
原创 Java响应式编程开发
Java响应式开发核心接口、组件、框架概述。响应式系统概念:简言之响应式系统在运行过程中,有请求到来随时都能处理,当系统有组件因网络或是其他原因阻塞了,系统依然可以处理请求,不过返回的数据为空,但请求会被缓存到内置消息队列中,当组件恢复后从消息队列中获取请求,处理完成后使用回调函数将数据主动从服务器返回给前端页面。
2024-05-27 22:36:37
1685
原创 面试题:innoDB主键索引的B+tree高度有多高呢?
假设: 一行数据大小为1K(1024字节),一页可以存放16行这样的数据,一页的大小 16 * 1024 = 16384 字节,InnoDB指针占用6个字节的空间,主键即使为bigint也只占用8个字节的空间设索引(键)的数量为 n ,键的总占用空间 : 键的数量 * 单个键的占用空间 = n * 8根据B+tree树的特性,指针的数量比当前节点键的数量多1个,所以指针的总占用空间 = ( 主键的数量 + 1 ) * 单个指针占用空间 = (n + 1) * 6计算n 的值 : 每个..
2022-05-12 15:54:25
862
1
原创 REST风格,给控制器方法问题
问题: 控制器方法中有一个需要根据id查询的业务,还有一个根据名称查询的业务:解决方案: 可以在控制器方法的请求路径中再加上一个前缀,和其他get请求区分范例:
2022-05-05 16:40:57
171
原创 什么场景下适合启用事务?
一个方法中有多个update、delete、insert操作,可以通过添加事务保证原子性,操作要么同时成功,要么同时失败。 多表查询统计场景下,可以通过事务控制将时间拉起到同一时间节点,保证数据的一致性。...
2022-05-05 10:33:18
1230
1
原创 SpringMVC的执行流程
整个过程开始于客户端发送了一个HTTP请求,Web服务器收到这个请求,如果匹配DispatcherServlet 配置的访问路径,就会交由DispatcherServlet 去处理。 DispatcherServlet 收到这个请求后,会根据请求信息(请求URL、请求头、请求参数cookie 等...) 及 HandlerMapping 的配置找到处理请求的处理器(Handler), 可将 HandlerMapping 看做是一个路由控制器,Handler就是目标主机,值得注意的是 SpringMVC 并
2022-05-05 09:47:38
116
原创 @Autowired和@Resource的区别
@Autowired是Spring提供的注解,@Resource是JDK提供的注解@Autowired单独使用只能按类型装配,@Resouce默认是按照名称装配,也支持按类型装配@Autowired按照类型装配对象,如果想要允许null值,可以在它的属性required中设置为false,如果想用按名称装配,就得配合@Qualifer注解,@Resource中有两个属性 name 和 type ,name是byName安装名称进行装配,如果没有指定值,那么默认是按照字段名去寻找依赖对象,如果在sett.
2022-05-05 08:49:49
466
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅