时间轮(TimeWheel)的设计与实现
由于工作的需要,得实现一个用于控制事件超时抛弃的时间轮,由于这是一个相对独立的接口,就总结分享一下。首先看下需求,此时间轮需要具备下面几个功能:1)能添加事件,同时附上其超时时间;2)如果事件正常执行结束,可以显示将其从时间轮上剔除掉,而不需要等时间轮自动移除;3)如果事件到了设定的超时时间还没执行 ...
2021-11-20
时间轮算法简介
众所周知寻常的定时器大概有两种,一种是开阻塞线程,另一种是开一个任务队列然后定期扫描。显而易见这两种方式的弊端很明显,前者对线程消耗过大,后者对时间消耗过大(很多未到时间的任务会被多次重复扫描消耗性能)。为了解决以上两个问题就可以使用TimingWheel数据结构。
2021-11-20
Java 定时任务简介
定时任务属于常用需求,常见的比如数据定时上传、超时自动处理等。在 Java 应用中可以使用 Java 自带的 Timer、线程池 ScheduledExecutorService、Quartz、Springboot 定时任务或者分布式定时任务来实现定时任务。
2021-11-20
crontab定时任务不执行总结
原因1:crond 服务未启动。原因2:权限问题。原因3:路径问题。原因4:时间问题。原因5:变量问题
2021-11-20
Elastic Search 实现返回结果高亮
众所周知,Google、百度等搜索引擎在返回查询结果时都会有高亮处理,让用户能够方便地快速识别出内容相关性。在 elastic search 中也提供了 highlight 高亮功能,可以返回与检索词相关的句子。
2021-11-20
前端工程师的摸鱼日常
对于高级摸鱼工程师来说,他们看透了摸鱼的本质。摸鱼摸走的不仅是公司的利益,还摸走了同事的精力,所以每一位高级摸鱼工程师都会劝导同事好好工作,因为只有一个努力奋斗的同事才能为自己分担工作压力。到了这个境界以后,摸鱼就变成了一个人的战斗,你讲孤独一人,在提倡狼性的公司中当一个最后的摸鱼人。这时的他们看到 ...
2021-11-20
JavaScript基础之this到底指向哪里
this的指向问题一直以来都是前端开发者找工作面试的重点,现在就聊聊这个this到底是何方神圣?ECMAScript中这样写到:this关键字执行为当前执行环境的thisBinding.MDN这样写到:绝大多数中,函数的调用决定了this的指向。简单来说,this的指向是由于调用时候决定的,this ...
2021-11-20
JAVA 线上故障排查思路,从 CPU、磁盘、内存、网络到GC
线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不被局限在一个方面的问题的,基本上出问题就是df、free、top 三连,然后依次jstack、jmap伺候,具体问题具体分析 ...
2021-11-19
程序员这条路,选择深耕技术,还是全面学习比较好
在开发技术和应用市场完全成熟的今天,有人希望深耕技术-打造出自己的一片天地,也有人想广泛学习-在程序员市场中游刃有余。
2021-11-19
人工智能的基本技术
尽管人工智能还是一门正在探索和发展中的学科,尽管人工智能至今还未形成完整的理论体系,但就其目前各个分支领域的研究内容来看,人工智能的基本技术,基本上应包括以下内容:推理技术、搜索技术、知识表示与知识库技术、归纳技术、联想技术等。
2021-11-19

© 2016 - 2022 chengxuzhixin.com All Rights Reserved.

浙ICP备2021034854号-1    浙公网安备 33011002016107号