- 栈 -
Stack:LIFO- 后进先出 - 队列 -
Queue:FIFO- 先进先出。
可以这么记忆,栈需要压栈和出栈,想到压栈就想到把一个物体压到底部,因此这个物体只能最后才出来,因此栈是
FILO;相对的,队列接是FIFO。
Stack:LIFO - 后进先出Queue:FIFO - 先进先出。可以这么记忆,栈需要压栈和出栈,想到压栈就想到把一个物体压到底部,因此这个物体只能最后才出来,因此栈是
FILO;相对的,队列接是FIFO。
对于字符串相关的题目,双指针解法出现的频率非常高。
当我们需要 查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到 哈希法。
哈希法是牺牲了空间换取了时间。
最近一段时间 IDEA 总是会出现 Low Memory 的提示,最初我以为是我在 IDEA 中启动的项目占用内存过大导致的。因此之后有段时间,我在写代码时,会将不必要的项目关闭,但是还是会出现这个提示。
这篇文章记录了一次因对
Netty读空闲机制了解不够透彻导致的问题。
最近 App 的 Socket 连接出现了问题,客户端的 Socket 连接已经中断了,但是服务端还保留着与客户端的连接信息,导致转发消息时出现了消息没有送达并且丢失的问题。
定位到问题是 Netty 心跳机制导致的问题,服务端代码中设置的是如果 150s 没有收到来自客户端的数据时(服务端是通过 channelRead() 方法是否触发来判断的),判断客户端读空闲,将客户端的 Socket 连接中断。