一次CPU占用1600%定位过程与反思 起因 经过一次稍微大的改版后,系统上线,上线后测试没发现问题,第二天反馈系统卡顿,下线。 检查系统问题 ,优化接口速度 上线,上线后发现没问题,第二天依...
背景 外呼系统需要每天处理几百万外呼 ,短信 , 等任务,而系统并发有限。因此任务需要排队执行,不同的任务有不同的优先级,因为需要引入优先级队列。 队列选型 不考虑引入新的中间件,目前系...
DelayQueue 顾名思义,它是一个延时队列 使用方式 : 假设我们生产者提交一个任务,消费者5秒钟之后才可以执行,那么我们可以把任务定义为如下格式,并实现Delayed接口,其中data是任务存储的信...
CountDownLatch CyclicBarrier Semaphore 是java中用于并发控制的工具 CountDownLatch 是一个计数器闭锁 可以用来等待一组线程完成 如下: CountDownLatch countDownLatch=new CountDownLat...
首先我们看下函数的基本定义: func name(parameter-list) (result-list) { body } 函数声明包含 函数名 形参列表 返回值列表 以及函数体 比如定义两个数相加: func add(x int, y int) int...
编辑距离是针对二个字符串(例如英文字)的差异程度的量化量测,量测方式是看至少需要多少次的处理才能将一个字符串变成另一个字符串。编辑距离可以用在自然语言处理中,例如拼写检查可以根据...
在了解Reactor模式之前, 首先了解什么是NIO. java.nio全称java non-blocking IO 即非阻塞IO.这个地方要明白,非阻塞不等于异步。 非阻塞:当一个线上读取数据,没有数据时该线程可以干其他的...
只是一篇源码分析记录,写的并不详细,建议自己debug源码查看。 在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令 ,很多高性能的无锁算法就是基于这种方式实...
redisObject对象分析的第一篇可以查看这篇文章https://my.oschina.net/wang520/blog/2644246 typedef struct redisObject { unsigned type:4; unsigned encoding:4; unsigned lru:REDIS_LRU...
对于搬箱子,走迷宫这里问题,都包含一个初始位置,一个目标位置,一个目标集(起点与目标之间的有效移动),一个规则集(给定位置的合法移动,计算某位置的可能结果)这种问题称作一个谜题,...
在一次开发中项目突然抛出了BeanCurrentlyInCreationException异常。解决方案是找到循环注入的问题,并重新设计其中的类。当出现循环注入时证明设计的是有问题的。jvm允许循环引用,spring也...
redis是一个key-value储存系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型) redis字符串...
任务执行 大多数并发应用程序都围绕“任务执行(Task Execution)”来构造的:任务通常是一些抽象切离散的单元。 串行的执行任务:在应用程序中可以通过多种策略来执行一个任务,通常串行任务是...
HTTP请求工具类,完成简单的GET POST请求.代码很简单。 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.*; import java.net.*; import java.util.HashMap; impo...
二叉树的性质以及二叉树的遍历(非递归)(c语言)(一) BST具有以下三个性质: 1.如果它的左子树不为空,则左子树上的所有节点的值均小于它的根节点的值。 2.如果它的右子树不为空,则右子树上...
没有更多内容
加载失败,请刷新页面
文章删除后无法恢复,确定删除此文章吗?
动弹删除后,数据将无法恢复
评论删除后,数据将无法恢复