IGOSN的博客

  • 文章
  • 标签
  • 分类
  • Zipkin介绍和使用

    2026-04-24
    2026-04-24

    zipkin介绍 Zipkin是一个分布式链路跟踪系统,可以采集时序数据来协助定位延迟等相关问题。数据可以存储在cassandra,MySQL,ES,mem中。分布式链路跟踪是个老话题,国内也有类似的框架,比如阿里的skywalkin...

  • 一个即时推送邀请功能的实现

    2026-04-24
    2026-04-24

    最近业务中遇到一个场景,为促进用户邀请拉新,支持面对面邀请领红包,简单描述下,就是端内展示二维码,目标新人微信扫码授权,获取信息并引导下载,老用户获得奖励。由于是面对面的方式,对时效要求比较高。这里有两种方式,一种是客户端接口一直轮训...

  • 一种链式逻辑分析和可视化展现设计

    2026-04-24
    2026-04-24

    在业务实现中,遇到一种场景,从开始传入多方的数据,经过多个不同种类环节的分析,最终得到一个分析结果。在对业务逻辑抽象后,我们实现了一种基于树形的分析结构,达到了比较理想的效果,优点主要有以下几个: 分析逻辑复用,避免了重复的代码; 结...

  • 实现一个SpringBootStarter

    2026-04-24
    2026-04-24

    功能实现 SpringBootStarter可以将需要的功能整合起来,方便使用。这个例子是一个非常简单的Starter实现,关键在于走通流程。首先单独创建一个maven项目,命名为greeter-spring-boot-starter...

  • 等待线程池中任务执行完毕做优雅关闭

    2026-04-24
    2026-04-24

    背景 在Java开发中,如果涉及多线程,会经常使用到线程池,本期不额外讲述线程池本身相关的东西。考虑一种场景,如果我们提交给线程池的任务都相对比较耗时,而在任务启动运行后,如果后续有需求的变更,要重新部署业务。 这时,需要关闭当前的执...

  • 给SpringBoot项目添加swagger

    2026-04-24
    2026-04-24

    swagger是一个可以生成API文档的工具,同时可以进行API的在线测试调用。在项目中有使用到,感觉用起来非常方便,是一个比较好用的工具。这篇文章简单介绍下给SpringBoot项目接入swagger,能够满足基本的接口文档查询和手...

  • 两种特殊的单例模式

    2026-04-24
    2026-04-24

    单例模式特性是只初始化一次,同时考虑满足懒加载的需要,以及满足多线程访问的安全性。在实际的生产使用中,比如像数据库连接,或者其他比较耗时同时需要只初始化一次的实例,都应该采用单例模式来创建。以下是两种比较特殊的单例模式,分别通过静态内...

  • 二维有序数组求给定数的位置

    2026-04-24
    2026-04-24

    一个二维数组,求给定的元素的位置,这个数组有个特性,是从左到右递增,每行首个从上到下递增,一种是从头开始遍历,另一种根据给定的特性,可以从每行最右侧的元素开始比较,如果小于给定元素,则向下一行找,如果大于给定元素,则从当前行尾元素往行...

  • 一种字符版本号转换整数方式的实现

    2026-04-24
    2026-04-24

    背景 业务场景中有一种版本号,如1.22.13,规则是首位最大,现在需要做版本号的比较,一种方式是单独每个位置去比较的,数据保存成字符形式;还有一种方式是将版本号映射转换成整数,统一存储。由于业务的情况,对应字段一直存储的是整数,所以...

  • 上台阶问题-递归和动态规划

    2026-04-24
    2026-04-24

    上台阶是一个常见的问题,解法主要有递归和利用动态规划,这篇文章简单介绍下递归解法和动态规划,以及对应的代码。递归解答这个问题相对比较好理解,如下: ##问题 现有n级台阶或者楼梯,其中n取值大于1的正整数,假定每次可以进行上1级-2级...

上一页
8 / 11
下一页

© 2026 IGOSN的博客

京ICP备 2025154027号-1 京公网安备11010502058433号

Powered by Halo and Retypeset