拓扑排序是一种判断是否是单向无环图的一种方法。 开一个足够容纳节点个数的统计入度的数组 deg[],每次读完边之后统计入度的大小。 1.一个(queue)队列用来存放初始入度为0的边。 2.每次读出队头,并让与对头相连的节点deg[q.front()]--,判断其值为0的话就入队。 3.只要队列不为 ...
分类:
编程语言 时间:
2019-02-20 09:48:01
阅读次数:
181
1.单纯用list就可以实现,但并未用到队列相关知识。 2.用两个队列(实际上是两个list)实现栈。 思路: queue1用来存放数据,每次入栈就插入queue1索引值为0的地方。queue2为出栈时的辅助队列,将queue1[1:-1]的元素出队然后入队queue2(也就是queue1逆序压入q ...
分类:
其他好文 时间:
2019-02-19 11:59:57
阅读次数:
172
Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。 Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。 Dow ...
分类:
其他好文 时间:
2019-02-16 13:51:06
阅读次数:
163
框架介绍 Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个子任务,最终汇总每个子任务的执行结果以得到大任务结果的框架。Fork/Join框架要完成两件事情: 任务分割:Fork/Join框架需要把任务分割成足够小的子任务,如果子任务比较大,就对子任务继 ...
分类:
其他好文 时间:
2019-02-14 13:26:32
阅读次数:
157
想必大家都用过或接触过 OkHttp,我最近在使用 Okhttp 时,就踩到一个坑,在这儿分享出来,以后大家遇到类似问题时就可以绕过去。 只是解决问题是不够的,本文将 侧重从源码角度分析下问题的根本,干货满满。 1.发现问题 在开发时,我通过构造 OkHttpClient 对象发起一次请求并加入队列 ...
分类:
Web程序 时间:
2019-02-14 10:28:51
阅读次数:
187
一 RabbitMQ简介 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据) ...
分类:
编程语言 时间:
2019-02-14 10:22:26
阅读次数:
207
队列是一种抽象数据结构,具有以下特点: (1)具有先进先出的特性(FIFO) (2)拥有两种基本操作,即加入和删除,而且使用front和rear两个指针来分别指向队列的前端和末尾。 队列的基本操作 create 创建空队列 add 将新数据加入队列的末尾,返回新队列 delete 删除队列前端的数据 ...
分类:
编程语言 时间:
2019-02-13 22:26:35
阅读次数:
244
一、概述 CountDownLatch是JAVA提供在java.util.concurrent包下的一个辅助类,指定的一个或多个线程等待其他线程执行完成后执行。 能够使一个线程等待其他线程完成各自的工作后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有的框架服务之后再执行。 1 ...
分类:
编程语言 时间:
2019-02-12 17:19:47
阅读次数:
156
秒杀注意事项以及整体简略设计 1.如何解决卖超问题 --在sql加上判断防止数据边为负数 --数据库加唯一索引防止用户重复购买--redis预减库存减少数据库访问 内存标记减少redis访问 请求先入队列缓冲,异步下单,增强用户体验 注册功能 -- 如果有前端的牛人加入修改几个页面那是再好不过了哈哈 ...
分类:
其他好文 时间:
2019-02-08 21:42:21
阅读次数:
212
队列是一种先进先出 (FIFO) 的数据结构,它允许在一端插入数据,在另一端删除数据。最先进入队列的数据最先出队列。除此之外,队列还允许访问队头元素和队尾元素、获取队列长度和判断空列队等操作。队列不提供遍历的方法,也不提供迭代器。 back()返回最后一个元素 empty()如果队列空则返回真 fr ...
分类:
其他好文 时间:
2019-02-06 15:53:05
阅读次数:
163