本文为转载,原作为http://www.cnblogs.com/CBDoctor/p/3781078.html,请大家支持原作者 先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲 (1)垃圾回收 (2)引用计数 (3)内存池机制 一、垃圾回收: python不像C++,Java等语言 ...
分类:
编程语言 时间:
2017-03-19 02:00:44
阅读次数:
245
一般有以下重要的几点 1.数据库设计 一般需要满足三范式 合适的存储引擎 优化数据字段类型 2.sql语句优化 定位执行效率较低的sql语句(重点是select) 通过explain分析 确定问题并采取优化措施 建立索引 1.频繁作为查询条件的字段应该创建索引 (唯一性太差和更新频繁的不适合) 2. ...
分类:
其他好文 时间:
2017-03-13 11:19:51
阅读次数:
221
InnoDB 存储引擎的线程与内存池 InnoDB体系结构如下: 后台线程: 1、后台线程的主要作用是负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据; 2、另外,将以修改的数据文件刷新到磁盘文件; 3、同时,保证在数据库发生异常的情况下,InnoDB能恢复到正常运行状态。 内存池:In ...
分类:
数据库 时间:
2017-03-12 23:31:52
阅读次数:
240
一、为什么需要线程模型? 记得几年前,自己写高精度算法时,因为需要一个线程安全的后台(用来保存一些信息),便手动写了一个线程本地存储(TLS)(虽然,后来因为改了计算模型,弃用了);再后来,因为内存池的需要,亦手动再写了一个线程本地存储(TLS);很好,这样一来同一个库里,竟然有两套相同的TLS;于 ...
分类:
编程语言 时间:
2017-03-11 18:55:56
阅读次数:
179
嗯,这篇讲可用的多线程内存池。 零、上期彩蛋:不要重载全局new 或许,是一次很不愉快的经历,所以在会有这么一个“认识”。反正,大概就是:即使你足够聪明,也不要自作聪明;在这就是不要重载全局new,无论你有着怎样的目的和智商。因为: 这是一个不对称的接口:只告诉了我们如何创建一个【堆】对象,但是释放 ...
分类:
其他好文 时间:
2017-02-25 23:55:03
阅读次数:
359
【程序人生】 未来最重要的三个能力
作者:张奇
我个人认为人人都该学点编程。
我绝不是随口一说,编程绝对是未来最重要的能力之一,如果说未来的人才只能具备三个能力的话,那么我会选择:编...
分类:
其他好文 时间:
2017-02-22 20:24:18
阅读次数:
230
是否可以把树上结点的编号,然后把二叉树存储在数组中呢?很遗憾如果结点在一条链上,那将是2^256个结点 所以需要采用动态结构 首先要读取结点,建立二叉树addnode()+read_input()承担这样的工作 然后遍历二叉树,读取结点编号输出bfs() 这道题有内存池应用的背景 附链接 http: ...
分类:
其他好文 时间:
2017-02-13 08:27:00
阅读次数:
229
1. 背景
1.1. 惊人的性能数据
最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点...
分类:
编程语言 时间:
2017-02-12 11:26:39
阅读次数:
1779
mem_pool.h mem_pool.c mem_pool_dlist.c ...
分类:
编程语言 时间:
2017-02-06 14:54:37
阅读次数:
308
InnoDB有多个内存块,你可以认为这些内存块组成了一个大的内存池,负责如下工作: 后台线程的主要作用是负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据。此外,将已修改的数据文件刷新到磁盘文件,同时保证在数据库发生异常情况下InnoDB能恢复到正常运行状态。 后台线程 由于Oracle是 ...
分类:
数据库 时间:
2017-01-12 18:12:00
阅读次数:
351