Go map 竟然也会发生内存泄露?
Go 程序运行时,有些场景下会导致进程进入某个“高点”,然后就再也下不来了。 比如,多年前曹大写过的一篇文章讲过,在做活动时线上涌入的大流量把 goroutine 数抬升了不少,流量恢复之后 goroutine 数也没降下来,导致 GC 的压力升高,总体的 CPU 消耗也较平时上升了 2 个点左右。 ...
RabbitMQ学习笔记
RabbitMQ 整合RabbitMQ /** * 使用RabbitMQ * 1、引入ampq场景,RabbitAutoConfiguration 就会自动生效 * 2、给容器中自动配置了 * RabbitTemplate、AmqpAdmin、CachingConnectionFactory、Rab ...
【Python爬虫案例】用python爬哔哩哔哩搜索结果
一、爬取目标 大家好,我是 @马哥python说 ,一名10年程序猿。 今天分享一期爬虫的案例,用python爬哔哩哔哩的搜索结果,也就是这个页面: 爬取字段,包含: 页码, 视频标题, 视频作者, 视频编号, 创建时间, 视频时长, 弹幕数, 点赞数, 播放数, 收藏数, 分区类型, 标签, 视频 ...
浅谈PHP设计模式的迭代器模式
简介: 迭代器模式,是行为型的设计模式。 提供一中方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。 适用场景: 除了学习,在PHP中几乎没有应用场景。 优点: 学习意义远大于实际意义。 缺点: 实际开发中几乎用不上,完全可以被更简单的foreach,或者是所用框架内置的遍历方案 ...
手写本地缓存实战2—— 打造正规军,构建通用本地缓存框架
作为缓存系列专栏的第四篇文章,我们将在上一篇的基础之上进行升华,一起思考如何构建一个完整且通用的本地缓存框架,并在过程中体会缓存实现的关键点与架构设计的思路。 ...
算法笔记1
笔记1 用两个栈实现队列 1、进栈时候进入第一个栈内 2、出栈时将栈1的内容再次压入栈2中,即正向 3、如果栈2没有元素,弹栈需要栈1进栈 4、如果栈2有元素,即上一次进栈元素没有全部弹栈,直接弹栈 package esay.jz9用两个栈实现队列; import java.util.Stack ...
python中的字典和集合
# 1.字典 存储数据 存储一个数据的属性 可以快速进行查找 # dict_data = {key:value,key:value,...} # key是键 # value是值 # 以大括号表示 # 数据是以键值对出现的 键值对中间用冒号连接 # key的值必须是不可变类型 # 字典和列表和集合是可 ...
【python】美女在召唤,python批量采集~
前言 嗨喽~大家好呀,这里是魔王呐 ! 知识点: 动态数据抓包 requests发送请求 json数据解析 开发环境: python 3.8 运行代码 pycharm 2021.2 辅助敲代码 requests pip install requests 思路分析 如何去实现一个案例: 简单的 基础知 ...
浅谈PHP设计模式的注册树模式
简介: 注册树模式,属于结构型的设计模式。一种很简单的设计模式 适用场景: 类似IOC。写一个庞大的类库的时候,为了方便各种资源的归纳,可以统一放到一棵树上。 优点: 把一个个游兵散将一样的对象进行统一管理。 另外可以根据项目的业务场景自定义层级。 缺点: 增加项目的复杂性。 纯粹的注册树写法,缺少 ...
插值查找算法
插值查找算法 插值查找原理介绍: 插值查找算法类似于二分查找,不同的是插值查找每次从自适应 mid 处开始查找。 2.将折半查找中的求 mid 索引的公式 , low 表示左边索引 left, high 表示右边索引 right. key 就是前面我们讲的 findVal int mid = l ...
手写模拟spring底层原理
1.对于非懒加载的单利bean,在spring容器启动时就已经创建。 // 创建一个Spring容器 AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppC ...
设计模式---代理模式
简述 对客户端隐藏目标类,创建代理类拓展目标类,并且对于客户端隐藏功能拓展的细节,使得客户端可以像使用目标类一样使用代理类,面向代理(客户端只与代理类交互)。 话不多说,看一个优化案例。 优化案例 最初版v0 目前的功能是下载可以下载文件。 public class BiliBiliDownload ...