240 发简信
IP属地:天津
  • 切换mac上的java版本

    目前在编写logstash插件的时候,需要先编译Logstash,然后发现Logstash要求的java版本是java 8,而我本机已经是15。java菜鸡的我以为还得重新降...

  • 限流模块

    一个复杂的限流模块,不仅仅是通过qps来决定是否需要来进行限流。

  • 如何快速阅读一个工程的代码

    最近跳槽去了另外一个公司。 公司让我在2个礼拜内熟悉代码,但是广告行业的代码绝对是复杂,特别是业务代码,读起来很费解。 我整理了几个步骤。 1.快速过一遍代码,从main函数...

  • 记一次内存泄漏

    背景 上个月,有一个跑了很久的服务,突然出现部分机器疯狂内存增长的现象,查看了最近2个月的提交记录,均无发现可疑的情况。排查了上下游的上线情况,也排查了上下游导致的内存情况。...

  • 120
    Linux性能优化7

    网络优化并发模型 从IO的角度 第一种是最常用的 I/O 多路复用技术 epoll,主要用来取代 select 和 poll。这其实是解决 C10K 问题的关键,也是目前很多...

  • 120
    Linux性能优化网络篇

    Notes 各层级协议:应用层,负责向用户提供一组应用程序,比如 HTTP、FTP、DNS 等。传输层,负责端到端的通信,比如 TCP、UDP 等。网络层,负责网络包的封装、...

  • 如何复现BUG

    1.追问细节,发现者可能没有告诉你关键信息,因为他的意识可能是主观的,漏掉细节。确认现象,确认复现率,复现时间 除了基本硬件要求一致,复现一下场景,比如同一台机器上是否有别的...

  • 120
    Linux性能优化4

    notes Linux中一切皆文件 文件有两个数据结构,索引节点(index node)和目录项(directory entry),用来接入文件的元信息和目录结构。索引节点是...

  • 120
    Linux性能优化笔记3

    notes 32位,3G用户空间,1G核心空间。 64位,内核和用户均为128T,剩下的未定义。用户低位,核心高位。 内存分布。只读段,包括代码和常量等。数据段,包括全局变量...

  • 120
    Linux性能优化笔记2

    Notes: 中断是一种异步事件处理机制,用于提高系统的并发处理能力。 为了减少对正常进程运行调度的影响,中断处理程序就需要尽可能快低的运行。中断处理程序过程中,还会临时关闭...

  • 【leetcode每日一刷】2020-03-23,链表的中间结点

    给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5]输出:此列表中的结点 3...

  • 【leetcode每日一刷】2020-03-20,365. 水壶问题

    有两个容量分别为 x升 和* y*升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好 z升 的水? 如果可以,最后请用以上水壶中的一或两个来盛放取得的 ...

  • 【leetcode每日一刷】2020-03-20,最小的K个数

    面试题40. 最小的k个数 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1...

  • C++实现 split

    在C++标准库中并没有实现split方法,但是在实际生产中,我们又经常碰到。在C++11以前我们可以使用以下方法来实现: 在C++11引入regex后,可以使用以下方法: 参...

  • 如何在调试中比较优雅的打印vector

    在工作中我们经常会碰到打印调试数据。在大的项目中我们常常有序列化工作,将他序列化后,我们就可以很方便将他打印出来。但是在通常的小demo中,我们往往不喜欢引入过大的依赖库。其...

  • 120
    iOS中长连接的那些事

    我们组内部搞了一个公众号,大家支持一下,有不少好文章。iOS中长连接的那些事 一、长连接在iOS开发中的作用 一般的App的网络请求都是基于Http1.0进行的,使用的是NS...