01 2022 档案
摘要:拉链法的 unordered_map 和你想象中的不一样 根据数组+拉链法的描述,我们很快能想到下面这样的拉链法实现的哈希表,但真的是这样吗?一起看下源码里的实现是怎么样的。 深入STL源码 代码不会骗人的,可以写一个简单的代码研究一下实现,然后通过gdb跟踪执行: #include <vector
阅读全文
摘要:当需要优化一个程序的时候,我们需要通过测量程序的运行时间来判断程序是不是真的优化成功了,最简单的方法就是记录一下程序运行开始的时间和结束的时间,然后计算两者的差值得到运行的时间,但是如果系统有其他因素干扰怎么办?程序运行的时候,CPU被抢占,导致外部记录的时间增长,就会导致测量的时间不准确。 测量时
阅读全文
摘要:我的工具们 写作平台 挑来挑去选择了博客园,之前一直 Hexo/hexo + Github 的方法,但是当需要用多台电脑写作和输出的时候,每台电脑都需要配置一个编辑环境,如果数据不能同步的话更加麻烦。 当然原来的博客保存了一些曾经留下的笔记,地址是:pokpok.ink 当然博客园默认的主题有些年代
阅读全文
摘要:内存不符预期的不断上涨,可能的原因是内存泄漏,例如new出来的对象未进行delete就重新进行复制,使得之前分配的内存块被悬空,应用程序没办法访问到那部分内存,并且也没有办法释放;在C++中,STL容器都会有clear()方法并且伴随RAII原则对容器里元素进行清理,但除了STL还有可能是字符串不断
阅读全文
摘要:我的笔记来自于图文并茂的设计模式在线书籍:https://refactoringguru.cn/design-patterns/catalog 设计模式不是银弹,不能解决所有问题,不要拿着锤子找钉子。 创建型 1、工厂方法,隐藏了构建的复杂逻辑,将相似的一些对象的构造放到一起。 2、抽象工厂是工厂方
阅读全文
摘要:Web 服务:tornado pip3 install tornado import sys import tornado.ioloop import tornado.web import json class MainHandler(tornado.web.RequestHandler): def
阅读全文