hello_desired_world乱聊内存池 boost内存池原理与介绍
一直想总结一下关于内存池方面自己的理解和使用, 临近春节(写完不知已是何时), 终于陆陆续续有些时间能写点东西, 网上关于此方面的文章数不胜数, 但仍旧想通过自己之手写(敲)出点文字, 一是自己也能够通过这种方式温故而知新;二是希望能从自己对这方面的理解带给大家一些不同的东西. 关于内存池的概念, 优点, 缺点什么的, 真不想说太多, 简单总结以下, 其他大家google吧, 嘿嘿.
精选技术长文、实践记录与系统化阅读
低噪声、高可扫读;标题、摘要、来源、标签一目了然。
采集自各技术站点的近期文章。
一直想总结一下关于内存池方面自己的理解和使用, 临近春节(写完不知已是何时), 终于陆陆续续有些时间能写点东西, 网上关于此方面的文章数不胜数, 但仍旧想通过自己之手写(敲)出点文字, 一是自己也能够通过这种方式温故而知新;二是希望能从自己对这方面的理解带给大家一些不同的东西. 关于内存池的概念, 优点, 缺点什么的, 真不想说太多, 简单总结以下, 其他大家google吧, 嘿嘿.
需求又变了,怎么办? 先上一个轻松的段子: 程序员XX遭遇车祸成植物人,医生说活下来的希望只有万分之一,唤醒更为渺茫。可他的Lead和亲人没有放弃,他们根据XX工作如命的作风,每天都在他身边念:“XX,需求又改了,该干活了,你快来呀!”,奇迹终于发生了,XX醒来了,第一句话:“需求又改了?”。 这个段子用幽默的方式反映了需求变化是每一个程序员、架构师或项目经理都会经常遇到的问题。面对这个问题,不同的人有不同的应对之道,最近微博上有一段关于需求变化的讨论: @假装刺猬的猪:我们在软件开发过程中,会持续碰到客户需求变更的情况。如果没有领域建模,我们单纯将问题使用直觉将问题解决,那么等到客户需求变更或者有新的需求时,就会面临一个僵硬的前设计!无法在以前的设计上持续深入的优化模型,导致需求变更无法及时深化。设计实现均滞后与变更!
apt-get install iftop 按T可显示每个IP的总流量, 网络流量监控工具Iftop 1、iftop界面相关说明 界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。 中间的这两个左右箭头,表示的是流量的方向。 TX:发送流量 RX:接收流量 TOTAL:总流量 Cumm:运行iftop到目前时间的总流量 peak:流量峰值 rates:分别表示过去 2s 10s 40s 的平均流量 2、iftop相关参数 常用的参数 -i设定监测的网卡。
我发现,当程序员开发了一个项目,然后要把它移交给其他程序员时,他们会对开发这个项目时做出的一些决策感到内疚。我问他们当时为什么选择这样做,他们会羞愧的说,“唉,我知道这不是最好的实现方法,如果现在再去做,肯定不会采用那样的方式。”有些人可能会辩护,或强调一下外部因素,比如工期压力。但我的观点是,程序员不需要为老的项目感到太多的内疚。 经验 我承认,我曾经有一次重新发球的经验。那是一个作为内部工具使用的Ruby on Rails项目。我之前对这种技术架构了解不多。基本上就是把东西按照需求拼凑起来,它运行很正常。没有多少测试,设计上必然是没有体现出最好的设计原则。但它能用。
If you want to make the best use out of autoload with an APC cache don’t use spl_autoload. It uses relative paths and thus will perform a stat even with apc.stat=0 (either that, or it doesn’t work at all). Instead make a custom function and use require/include with an absolute path (register it with spl_autoload_register).
【导读】 MySQL数据库提供针对字符串存储的一种特殊数据类型:集合类型SET,这种数据类型可以给予我们更多提高性能、降低存储容量和降低程序代码理解的技巧,前面介绍了首先介绍了四种数据类型的特性总结,其后又分别介绍了布尔类型BOOL或称布尔类型BOOLEAN、枚举类型ENUM,本文我们详细介绍集合类型set测试过程与总结,加深对mysql数据库集合类型set的理解记忆。
技术债务,是指匆忙的实现一个功能,却对现有的程序库造成了破坏(在实现的过程中污染了代码库的设计),这对于一些项目经理/客户来说就像是天书奇谈。也许他们是明白的,只是不愿意承认罢了,我估计是这样的。不管怎样,我想起来一个小故事,当下次遇到这种情况,需要向他们解释增加某些新功能的代价时,也可用讲这个故事给他们听。 一个农夫有3只母鸡。每只母鸡每天下一个蛋。农夫跟当地的一个食品店老板做生意。食品店老板每天从农夫那里买2给鸡蛋放在店里出售。
“肉饼”是我创办的JavaEye网站的会员给我起的外号,来源于我的英文名字robbin,根据发音近似肉饼而来,我挺喜欢这个有亲和力的外号,比较符合生活中有亲和力的我。我起英文名字的时候,想起了小时候看过的英语教育片《走遍美国》,对那个高中生Robin Stwart有很深的印象,所以就叫robbin了。恩,我多拼写了一个b字母,这其实是一个错别字,粗心大意拼错了。后来robbin这个ID比我自己更有名气了,想改也改不过来,只好将错就错了。 《You've got to find what you love》是乔布斯2005年在斯坦福大学毕业典礼上的演讲,当肉饼第一次看到这个演讲视频的时候,被彻底震住了。肉饼回顾自己跌跌撞撞的人生道路,就是一个不断寻找然后坚持自己钟爱事业的过程。
1. 查看mq阻塞情况;2. 查看mq写入情况;3. 查看mq消费情况。
只接上代码了,别的不说了,在模拟考试中很实用!!
腾讯的联席CTO熊明华最近在提及Q+这个平台时说,Q+下一个发展的重点是电视,然后是车载。在他看来,很多移动互联网公司恰恰忽略了这两个地方。按照这样的说法,腾讯依靠QQ覆盖电脑,依靠微信覆盖手机,再图谋电视和车载,还真是把一个现代人生活中所接触到的四个“屏”,全覆盖了。 覆盖屏,也就是覆盖了消费者接触面,覆盖了最重要的渠道,腾讯的方略是没有什么错的。但问题是,如何覆盖渠道是值得讨论的。腾讯的做法,看来是直接将软件(或者叫应用)置入到屏中,但的确还存在另外一个做法,那就是“盒子”。 盒子策略,已经有很多公司尝试过了,但纷纷铩羽而归。最出名的莫过于微软的维纳斯计划和盛大的盒子(后来改称易宝)。盒子的核心理念其实是这样的:一个小小的终端设备去控制屏。在维纳斯计划和盛大易宝中,基本是就是一个“不能移动的”终端设备去控制“一个”屏(电视)。而它们的失败,也正是因为这两点:不能移动、一个屏。
继续Clojure世界之旅,介绍下我今天的探索成果,使用clojure生成clojure项目的API文档。在java里,我们是利用javadoc生成API文档,各种build工具都提供了集成,例如maven和ant都提供了javadoc插件或者task。在Clojure世界里,同样有一系列工具帮助你从源码中自动化生成API文档。今天主要介绍三个工具。不过我不会介绍怎么在clojure里写doc,具体怎么做请看一些开源项目,或者直接看clojure.core的源码。
iPhone五年来的变化 仿造的苹果电脑 我最喜欢的电脑我实在是买不起,希望没有人能看出它们之间的不同。 当看这张图片时,你的坐姿是怎样的?
【导读】 MySQL数据库四种数据类型:布尔类型、微整型、枚举类型和集合类型,都逐一分析这四种数据类型的特性,以及针对每种数据类型做相应的深入分析和案例测试,挖掘出MySQL手册没有详细写清楚的部分,相关技术文章可以考虑从数据类型系列第一篇文章MySQL数据库数据类型之ENUM、SET、BOOL/BOOLEAN、TINYINT特性介绍开始阅读。 本文内容属于基于在此之前分享的6篇关于四种数据类型的文章之上,我们结合实际的业务场景和生产环境维护成本等多个角度进行分析,阐述什么样的业务场景,适合使用布尔类型、枚举类型和集合类型?使用这三种数据类型之后,又回给我们带来哪些麻烦?如何规避这三种数据类型带来的弊端等问题,将会逐一解答。
设计模式中的状态模式 这是标准的状态模式.其中Context管理所有状态,而每个状态都是自己的类,而状态的流转逻辑由状态自己执行. 然后完整的状态模式实现太过”重”,而且状态流转的描述在代码上也不会是一目了然.所以我对状态模式进行了简化和优化.使其很”轻”,易于使用和实现,而且对于状态流转在代码上也能一目了然.所有的流转逻辑都能在一屏上显示出来.
如果我告诉大家,这篇文章出自一个只有20岁的小伙,我想很多人都会感到吃惊。至少我是吃了一惊,因为这篇文章涉及到主题听起来是很有深度的,我本人在20岁时几乎想都不会想这些事情,更别说研究了。但又过了这么多年,不知国内的青年们有没有追赶上西方的步伐,也能出现几个这样看起来很有编程天分的人?我最近看到了《编程改革 》这篇文章,里面的内容讨论到了我们的编程中存在的一个最根本的问题。我同意作者的观点,但我感觉很多的评论并没有理解他说的问题,所以,我打算用另外一种方式来说明一下。 我从事编程已经很久,主要是因为我痴迷于解决难题。
先回顾一下,上次达人会上,我跟大家分享了一个产品定位的原创理论“动物世界法则”,这个法则对我们公司的产品定位有着指导性的意义。游戏人群,往往被分成这样的三角形:免费用户、小额付费用户(小R)、大额付费用户(大R)。当下的游戏往往针对不同的付费能力,对用户进行收费。常见的伎俩是VIP系统相关的功能性收费。
我们经常需要在程序中测量某段代码的性能,或者某个函数的性能,在Java中,我们可能简单地循环调用某个方法多少次,然后利用System.currentTimeMillis()方法测量下时间。在Ruby中,一般都是用Benchmark module做测试,提供了更详细的报告信息。 同样,在Clojure里你可以做这些事情,你仍然可以使用System.currentTimeMillis()来测量运行时间。
整个网上只有 intel 的 SSD 查看硬盘寿命的资料,象我们这种穷人,只能使用的起 Crucial 和 OCZ 的用户来讲是太不公平了.象我要透过 RAID 卡就真没法子看其它商家的 SSD 的寿命了吗? 研究了一下,所有...
地图服务的另一项工作是管理所有的 NPC 和怪。我原本希望把单个 NPC 和怪都放到独立的进程(非 os 进程)中,以 agent 的独立地位存在。做过一番估算后,觉得内存开销方面不太现实。所以还是打算由地图统一管理它们。初步的计划是讲怪物的巡逻路径单独管理,把 AI 的状态机则独立出来。怪物是不作为观察者进入 AOI 的。让 agent 在观察到怪后,主动向怪发送消息激活怪的 AI 模块。这样可以在没有人活动的场景上,大大减少怪物 AI 轮询造成的 CPU 压力。这部分的实现以后由新入职的 mike 同学负责实现。这几天我们讨论了好长时间的相关方案。在实现过程中一定还会有许多实现者自己的想法。不过我相信 mike 同学多年的 MMO 制作经验可以很好的解决掉问题。