240 发简信
IP属地:上海
  • 120
    亲近大自然的时候千万不要带床

    原创牛乱七八糟牛乱七八糟画故事 人在什么时候最喜欢亲近大自然? 疫情爆发的时候。 今年夏天我们所去的每个营地都是定得满满的,前后左右都是人,晚上天黑以后热闹的还以为在逛夜市。...

  • 数据结构演进

    时间复杂度:查询次数空间复杂度:为了辅助查询中间使用到一些缓存变量思想:空间换时间、时间换空间技巧:1、扩容时双倍扩容2、哈希表中链表、红黑树的使用技巧,扩容技巧3、常用结构...

  • 120
    dubbo 原理解析

    rpc 流程:1、dubbo spi 中的 warp 机制,实现类增强2、dubbo spi 中的自适应机制,通过Adaptive3、注意 filter 通过查询Activa...

  • 类增强

    思考:1、如何对类进行增强???2、如何预留扩展接口??? 一句话:通过代理增强,通过 包装预留扩展接口 proxy + chain

  • 120
    异地多活

    问题:1、机房故障如何处理??2、灰度发布?3、H5、WEB 直接通过浏览器请求,无法集成 HTTPDNS,如何解决?4、nginx + lua + redis 实现流量转发...

  • 120
    数据采集

    背景:交易订单数统计如何做

  • 120
    spi 机制

    JDK 的 SPI 机制1、META-INF/services/org.speed.dubbo.spi.service.RpcService文件的名称是接口的名称,里面的内容...

  • 120
    kafka生产消息

    问题:1、如何保证消息发送的高可用2、副本直接如何同步

  • 消息推送案例

    业务场景1、C 端扫码收款后,要求商家APP或音箱设备播报语音。2、商家收银成功后,商家 APP 的订单列表及时提醒有新订单3、远程推送指令给设备(获取设备端日志、网络检测、...

  • 120
    rocketmq消费实现

    消费者:异步拉取、异步消费并提交 ACK

  • 120
    spring 代理实现

    背景:动态代理 + cglib 代理 技巧:借助 spring 内置的 bean 对象实现代理创建比如内置的:BeanNameAutoProxyCreator 实现方式:第一...

  • 120
    线程池与锁

    疑问:1、一个 int 变量不同比特位代表不同的业务,实现原子性 (技巧)2、线程池如何扩容、缩容(线程执行完 run 方法后操作系统会自动回收线程)3、锁的实现 备注:注意...

  • 120
    dubbo的 spi 机制

    原则:面向接口编程①:META-INF/services/org.speed.dubbo.spi.service.RpcService文件的名称是接口的名称,里面的内容是ke...

  • 120
    项目经验

    设计技巧:1、回调处理(调用方回调处理)2、批量操作(批量操作提高性能)3、mq + 异步化(消息队列+多线程异步处理)4、取模法、热点分组 (防止压力过大、热点分散)5、设...

  • 120
    技术体系

    1、mysql 2、jvm 3、线程与锁 4、redis 5、mq

  • 120
    无锁算法

    一、基于 CAS 的加锁实现采用硬件提供的 cas 机制实现加锁,无需内核辅助(普通的加锁需借助操作系统,此时存在内核态和用户态的交互,代价过高)LockSupport.pa...

  • 120
    延迟队列

    一、基于 redis 的 sort zset 二、基于 ringbuffer 的延迟任务类似时间轮的一种延时任务:

  • redis常见问题

    1、缓存一致性问题引起原因:读写分离后,主从同步存在延迟导致的解决办法:1、延迟双删 2、雪崩、击穿问题引起原因:key 过期时间一样,集体失效解决办法:过期时间 = 过期时...

  • 120
    redis 使用场景

    场景一、基于 zset、set 实现抽奖 场景二、基于 zset 延迟任务 场景三、基于 list 消息队列 场景四、基于 redis + lua + list 扣减库...