- 博客(4)
- 收藏
- 关注
原创 项目实训后台系统架构设计
峰值时间垃圾分类需求发生时间主要集中在日常生活中,可以认为白天(6:00~23:00)流量远远大于夜间(23:00~次日6:00);关于厨余垃圾的分类需求可能集中在午/晚饭时间段;流量分布白天非饭点:流量常规且分布均匀饭点:流量达到峰值夜间:流量较少,允许系统维护峰值差距常规时段*1000% > 饭点qps > 常规时段*300%
2025-05-01 11:03:33
1036
原创 Java 异步任务编排——Guava ListenableFuture
,在多线程运算完成的时候进行调用, 或者在多线程运算完成后立即执行。这样简单的改进,使得可以明显的支持更多的操作,这样的功能在 JDK concurrent 中的 Future 是不支持的。事件扇入:返回一个列表,其结果将与传递到参数中的任务具有相同的顺序,并且失败的任务将为其在列表中各自的位置分配。通过异步的方式计算返回结果:在多线程运算中可能或者可能在没有结束返回结果,是运行中的多线程的一个引用句柄,确保在服务执行返回一个 Result。提交多线程异步运算的方式。事件注册和监听器注册方法。
2025-04-28 11:48:46
260
原创 Netty
在服务器进程 A 启动的时候,要监听的连接的 socket 文件描述符是 3、4、5,如果这三个连接均没有数据到达网卡,则进程 A 会让出 CPU,进入阻塞状态,同时会将进程 A 的进程描述符和被唤醒时用到的回调函数组成等待队列项加入到 socket 对象 3、4、5 的进程等待队列中,注意,这时 select 调用时,fdsr 文件描述符集会从用户空间拷贝到内核空间。进程被唤醒后,不知道哪些连接已就绪即收到了数据,需要遍历传递进来的所有 fd_set 的每一位,不管它们是否就绪;
2025-04-27 09:52:34
1568
原创 Java NIO
Buffer 的三个关键属性:capacity(Buffer 的固定大小)、position(当前读/写的位置,每次操作后移动,读/写切换时归零)、limit(在写模式下,Buffer 的 limit 表示你最多能往 Buffer 里写多少数据。在写操作过程中,任何channel.write返回为0,则说明当前写操作失败(比如网络堵塞,网卡和内核空间都没有空间可写入数据,就会导致写入数据失败),则将剩下所有的数据都注册成 OPWRITE 事件,等待操作系统调度何时向channel写剩余的数据。
2025-04-22 16:41:17
1475
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅