给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1: 输入: 0 0 0 0 1 0 0 0 0 输出: 0 0 0 0 1 0 0 0 0 示例 2: 输入: 0 0 0 0 1 0 1 1 1 解题思路:最开始的时候,我的思路是遍历所 ...
分类:
其他好文 时间:
2020-04-12 16:32:20
阅读次数:
50
1. select (能监控数量有限,不能告诉用户程序具体哪个连接有数据) 1. select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点 2. select的一个缺点在于单个进程能够监视的文件描述符的数量存在最大限制,在Linux上一般为1024 3. select监控socket ...
分类:
其他好文 时间:
2020-04-09 09:12:10
阅读次数:
70
前言 最近刷力扣题,对于我这种 0 基础来说,真的是脑壳疼啊。这个月我估计都是中等和困难题,没有简单题了。 幸好,力扣上有各种大牛给写题解。看着他们行云流水的代码,真的是羡慕不已。让我印象最深刻的就是人称 “甜姨” 的知心姐姐,还有名叫威哥的大哥。几乎每天他们的题解我都是必看的。 甜姨的题解,虽然姿 ...
分类:
其他好文 时间:
2020-04-07 09:53:04
阅读次数:
91
1. selectors I/O多路复用抽象 selectors模块在select中平台特定的I/O监视函数之上提供了一个平台独立的抽象层。 1.1 操作模型 selectors中的API是基于事件的,与select中的poll()类似。它有多个实现,并且这个模块会自动设置别名DefaultSele ...
分类:
编程语言 时间:
2020-04-07 09:21:11
阅读次数:
75
Kafka-消费者-偏移量的提交方式 每次调用poll()方法,它总是返回由生产者写入Kafka但还没有被消费者读取过的记录,可以追踪到哪些记录是被群组里的哪个消费者读取的。 更新分区当前位置的操作叫做提交。 消费者往一个叫做 _consumer_offset的特殊主题发送消息,消息里包含每个分区的 ...
分类:
其他好文 时间:
2020-04-06 15:43:22
阅读次数:
74
fd_set 使用数组实现,在内核中默认实现是 16个大小,但是他是long类型,每个元素64位,所以 16*64 =1024 个,select的瓶颈也就是1024个连接 所以遍历出来的对应数组就可以拿到文件描述符 epoll create 用来生成一个树的根节点、 epoll ctl ...
分类:
其他好文 时间:
2020-04-05 15:08:55
阅读次数:
66
前面介绍的Stack是新进后出,而Queue是先进先出的 1、Queue结构 public interface Queue<E> extends Collection<E> { boolean add(E e); boolean offer(E e); E remove(); E poll(); E ...
分类:
其他好文 时间:
2020-04-05 13:19:01
阅读次数:
90
队列是一种特殊的线性表。队列有单向队列和双向队列,队列内部结构多大使用数组和链表存储,一般使用数组存储的都会有初试长度和最大长度等,一般使用链表存储没有长度限制。平时在使用中最好不要像队列中插入null(通常也不允许,LinkedList除外),因为null值通常用于poll方法表示当前队列没有元素... ...
分类:
其他好文 时间:
2020-04-04 11:20:45
阅读次数:
71
Django默认自带的ORM功能非常强大,调用执行的方法去查询即可,不需要自己去写SQL了。 常用参数 __exact 精确等于 like 'aaa' __iexact 精确等于 忽略大小写 ilike 'aaa' __contains 包含 like '%aaa%' __icontains 包含 ...
分类:
编程语言 时间:
2020-03-28 17:55:23
阅读次数:
88
【场景】客户端大量连接,如果采用多线程方式的话,线程上下文切换导致性能不佳。因此采用io多路复用。 一、上下文切换 对于单核CPU来说(对于多核CPU,此处就理解为一个核),CPU在一个时刻只能运行一个线程,当在运行一个线程的过程中转去运行另外一个线程,这个叫做线程上下文切换(对于进程也是类似)。 ...
分类:
其他好文 时间:
2020-03-28 16:16:39
阅读次数:
71