参考: https://www.cnblogs.com/g177w/p/8469399.html java数据结构 堆 1.堆:堆是一种树,由它实现的优先级队列的插入和删除的时间复杂度都是O(logn),用堆实现的优先级队列虽然和数组实现相比较删除慢了些,但插入的时间快的多了。当速度很重要且有很多插 ...
分类:
编程语言 时间:
2020-11-01 10:03:45
阅读次数:
14
1、什么是线程池? 简而言之,线程池就是管理线程的一个容器,有任务需要处理时,会相继判断核心线程数是否还有空闲、线程池中的任务队列是否已满、是否超过线程池大小,然后调用或创建线程或者排队,线程执行完任务后并不会立即被销毁,而是仍然在线程池中等待下一个任务,如果超过存活时间还没有新的任务就会被销毁,通 ...
分类:
编程语言 时间:
2020-11-01 09:40:28
阅读次数:
26
什么鬼,面试官竟然让我用Redis实现一个消息队列!!?△Hollis,一个对Coding有着独特追求的人△这是Hollis的第241篇原创分享作者l小胖儿来源lHollis(ID:hollischuang)众所周知,redis是一个高性能的分布式key-value存储系统,在NoSQL数据库市场上,redis自己就占据了将近半壁江山,足以见到其强大之处。同时,由于redis的单线程特性,我们可以
分类:
其他好文 时间:
2020-11-01 09:25:05
阅读次数:
15
?上篇《Java线程的6种状态详解及创建线程的4种方式》前言:我们都知道,线程是稀有资源,系统频繁创建会很大程度上影响服务器的使用效率,如果不加以限制,很容易就会把服务器资源耗尽。所以,我们可以通过创建线程池来管理这些线程,提升对线程的使用率。1、什么是线程池?简而言之,线程池就是管理线程的一个容器,有任务需要处理时,会相继判断核心线程数是否还有空闲、线程池中的任务队列是否已满、是否超过线程池大小
分类:
编程语言 时间:
2020-10-31 02:40:27
阅读次数:
25
Scrapy爬虫(三):scrapy架构及原理 Scrapy爬虫三scrapy架构及原理 scrapy爬虫尝鲜 scrapy data flow流程图 scrapy项目结构 scrapy爬虫尝鲜 scrapy现在已经完美支持python3+,所以后面的实例我都会使用python3+的环境。首先我们来 ...
分类:
其他好文 时间:
2020-10-31 01:09:06
阅读次数:
16
01AQS简介01什么是AQSAQS全称为AbstractQueuedSynchronizer,就是抽象队列同步器。AQS是一个用来构建锁和其他同步组件的基础框架,使用AQS可以简单且高效地构造出应用广泛的同步器,它提供了一个FIFO队列,可以看成是一个用来实现同步锁以及其他涉及到同步功能的核心组件。02AQS的核心思想如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共
分类:
其他好文 时间:
2020-10-30 12:03:44
阅读次数:
18
1.何为队列听到队列相信大家对其并不陌生,在我们现实生活中队列随处可见,去超市结账,你会看见大家都会一排排的站得好好的,等待结账,为什么要站得一排排的,你想象一下大家都没有素质,一窝蜂的上去结账,不仅让这个超市崩溃,还会容易造成各种踩踏事件,当然这些事其实在我们现实中也是会经常发生。当然在计算机世界中,队列是属于一种数据结构,队列采用的FIFO(firstinfirstout),新元素(等待进入队
分类:
其他好文 时间:
2020-10-30 11:49:19
阅读次数:
16
【开发总结】Disruptor 使用简介 在极客时间看到王宝令老师关于 Disruptor 的一篇文章,觉得很有意思。看完之后又在网上找到一些其他关于Disruptor 的资料看了一下。 现在写篇文章总结一下。 使用 Disruptor 百度翻译是干扰者,分裂器的意思。 在这里它其实是一个高性能队列 ...
分类:
其他好文 时间:
2020-10-30 11:46:59
阅读次数:
15
1.背景本文是上周去技术沙龙听了一下爱奇艺的Java缓存之路有感写出来的。先简单介绍一下爱奇艺的java缓存道路的发展吧。可以看见图中分为几个阶段:第一阶段:数据同步加redis通过消息队列进行数据同步至redis,然后Java应用直接去取缓存这个阶段优点是:由于是使用的分布式缓存,所以数据更新快。缺点也比较明显:依赖Redis的稳定性,一旦redis挂了,整个缓存系统不可用,造成缓存雪崩,所有请
分类:
其他好文 时间:
2020-10-30 11:40:15
阅读次数:
14
题意: 拓扑排序,输出字典序最小的。 思路:优先队列优化。 #include <iostream> #include <vector> #include <queue> #include<string.h> using namespace std; int n, m; const int N=1e5 ...
分类:
编程语言 时间:
2020-10-29 10:24:45
阅读次数:
26