加载中
一次CPU占用1600%问题的定位过程 与 反思

一次CPU占用1600%定位过程与反思 起因 经过一次稍微大的改版后,系统上线,上线后测试没发现问题,第二天反馈系统卡顿,下线。 检查系统问题 ,优化接口速度 上线,上线后发现没问题,第二天依...

MongoDB+redis 实现可灵活移除数据的优先级队列

背景 外呼系统需要每天处理几百万外呼 ,短信 , 等任务,而系统并发有限。因此任务需要排队执行,不同的任务有不同的优先级,因为需要引入优先级队列。 队列选型 不考虑引入新的中间件,目前系...

DelayQueue使用方式,源码分析,以及应用场景

DelayQueue 顾名思义,它是一个延时队列 使用方式 : 假设我们生产者提交一个任务,消费者5秒钟之后才可以执行,那么我们可以把任务定义为如下格式,并实现Delayed接口,其中data是任务存储的信...

2020/12/19 18:53
2.5K
java与golang并发控制 CountDownLatch CyclicBarrier Semaphore 以及 WaitGroup的简单使用

CountDownLatch CyclicBarrier Semaphore 是java中用于并发控制的工具 CountDownLatch 是一个计数器闭锁 可以用来等待一组线程完成 如下: CountDownLatch countDownLatch=new CountDownLat...

golang函数-如何作为参数或者返回值

首先我们看下函数的基本定义: func name(parameter-list) (result-list) { body } 函数声明包含 函数名 形参列表 返回值列表 以及函数体 比如定义两个数相加: func add(x int, y int) int...

2020/08/02 12:33
1.5K
redis源码分析-字典(部分地方与Java中hashmap对比)

redis数据结构分析-redisObject-SDS: https://my.oschina.net/wang520/blog/2644246 redis对象分析,内存的回收:https://my.oschina.net/wang520/blog/2966430 字典,通常叫做映射(map),符号...

编辑距离(Edit Distance)的原理,利用递归以及动态规划的实现。

编辑距离是针对二个字符串(例如英文字)的差异程度的量化量测,量测方式是看至少需要多少次的处理才能将一个字符串变成另一个字符串。编辑距离可以用在自然语言处理中,例如拼写检查可以根据...

IO -Reactor模式探究

在了解Reactor模式之前, 首先了解什么是NIO. java.nio全称java non-blocking IO 即非阻塞IO.这个地方要明白,非阻塞不等于异步。 非阻塞:当一个线上读取数据,没有数据时该线程可以干其他的...

AQS ,ReentrantLook 实现的公平锁加锁过程源码分析记录。

只是一篇源码分析记录,写的并不详细,建议自己debug源码查看。 在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令 ,很多高性能的无锁算法就是基于这种方式实...

redis对象分析,内存的回收(二)

redisObject对象分析的第一篇可以查看这篇文章https://my.oschina.net/wang520/blog/2644246 typedef struct redisObject { unsigned type:4; unsigned encoding:4; unsigned lru:REDIS_LRU...

并行算法的应用-解决搬箱子这类谜题。

对于搬箱子,走迷宫这里问题,都包含一个初始位置,一个目标位置,一个目标集(起点与目标之间的有效移动),一个规则集(给定位置的合法移动,计算某位置的可能结果)这种问题称作一个谜题,...

2018/11/18 16:13
744
一次spring启动报错BeanCurrentlyInCreationException背后的原因分析-什么情况下循环注入会报错

在一次开发中项目突然抛出了BeanCurrentlyInCreationException异常。解决方案是找到循环注入的问题,并重新设计其中的类。当出现循环注入时证明设计的是有问题的。jvm允许循环引用,spring也...

redis数据结构分析-redisObject-SDS

redis是一个key-value储存系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型) redis字符串...

java多线程-对线程池的了解,定制自己的线程池

任务执行 大多数并发应用程序都围绕“任务执行(Task Execution)”来构造的:任务通常是一些抽象切离散的单元。 串行的执行任务:在应用程序中可以通过多种策略来执行一个任务,通常串行任务是...

HTTP请求工具类,完成简单的GET POST请求(为了熟悉相关API)。

HTTP请求工具类,完成简单的GET POST请求.代码很简单。 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.*; import java.net.*; import java.util.HashMap; impo...

2018/07/12 09:14
138
二叉查找树(BST)和二叉平衡树(AVL)的结构以及原理(二)。

二叉树的性质以及二叉树的遍历(非递归)(c语言)(一) BST具有以下三个性质: 1.如果它的左子树不为空,则左子树上的所有节点的值均小于它的根节点的值。 2.如果它的右子树不为空,则右子树上...

2017/10/06 22:28
1.6K
常用排序算法总结(一)

选择排序,插入排序,希尔排序,归并排序

没有更多内容

加载失败,请刷新页面

返回顶部
顶部