代码改变世界

好奇为何某些场景会要禁止堆上内存分配

2021-08-16 16:11 by 放作夥, 92 阅读, 0 推荐, 收藏,
摘要:有些实时系统,譬如战斗机驾驶辅助系统,考虑到堆上动态分配有太大的不确定性,譬如内存泄漏,且比栈上分配性能稍逊,譬如通过一套空闲内存检索管理算法寻找空闲内存,而栈分配只需移动 栈指针,所以在这种特殊场景下会禁用堆分配。实际实现上可以定义重载过new的基类,让不允许堆上分配的对象类继承。 阅读全文

一次性能测试的网络层面总结

2021-06-17 16:20 by 放作夥, 73 阅读, 0 推荐, 收藏,
摘要:首先所有中间件和主机的监控告警都得打开,关注一下。 其次压测机本身不能被操作系统的网络协议栈卡住。注意压测机本身的网络参数设置已调整,如wmem,rmem,backlog相关的softmaxconn 然后就能使用mpstat,pidstat,vmstat关注一下服务器性能了。dmesg也关注一下。 阅读全文

mongodb中直接根据某个字段更新另外一个字段值

2021-05-22 14:33 by 放作夥, 1715 阅读, 0 推荐, 收藏,
摘要:表:tblCard 要更新的字段:tPAFlow 值字段: pFlow 过滤 条件:{"lCycle":2} db.tblCard.find({"lCycle":2}).forEach( function(item){ db.tblCard.update({"_id":item._id},{"$se 阅读全文

glibc的malloc钩子

2018-11-19 14:22 by 放作夥, 1402 阅读, 0 推荐, 收藏,
摘要:调试C程序内存泄露,在腾讯游戏的分享中也是用的这个方法 __malloc_hook(3) Linux man page Name __malloc_hook, __malloc_initialize_hook, __memalign_hook, __free_hook, __realloc_hook 阅读全文

[转] 微信协程库libco研究:hook系统函数

2017-12-27 09:16 by 放作夥, 911 阅读, 0 推荐, 收藏,
摘要:系统为我们提供了 dlopen,dlsym工具,用于运行时加载动态库。可执行文件在运行时可以加载不同的动态库,这就为hook系统函数提供了基础。 下面用一个小小的例子来说明如何利用dlsym工具hook系统函数。 假设现在我们需要统计程序中malloc的调用次数,但是不能修改原有程序。最简单的思路类 阅读全文

CSS块级元素和行内元素

2017-09-21 20:29 by 放作夥, 374 阅读, 0 推荐, 收藏,
摘要:块元素一般都从新行开始,它可以容纳内联元素和其他块元素,常见块元素是段落标签'P"。“form"这个块元素比较特殊,它只能用来容纳其他块元素。 如果没有css的作用,块元素会顺序以每次另起一行的方式一直往下排。而有了css以后,我们可以改变这种html的默认布局模式,把块元素摆放到你想要 的位置上去 阅读全文

常见的hash函数

2017-08-24 10:27 by 放作夥, 1220 阅读, 0 推荐, 收藏,
摘要:如果你有hash需求的话,你可以使用别人提供的hash算法 通用的哈希函数库有下面这些混合了加法和一位操作的字符串哈希算法。下面的这些算法在用法和功能方面各有不同,但是都可以作为学习哈希算法的实现的例子。 1.RS 从Robert Sedgwicks的 Algorithms in C一书中得到了。已 阅读全文

JVM参数

2017-07-15 15:05 by 放作夥, 177 阅读, 0 推荐, 收藏,
摘要:从阿里开源的yugong这个项目里看到他的jvm参数用了这些,都记录下来。有空解析一下含义。也欢迎各位留言 JAVA_OPTS=" XX: UseAdaptiveSizePolicy XX:MaxTenuringThreshold=15 XX:+DisableExplicitGC XX:+UseCo 阅读全文

java虚拟机的逃逸分析

2017-07-13 20:33 by 放作夥, 315 阅读, 0 推荐, 收藏,
摘要:逃逸分析作为其他优化手段提供依据的分析技术,其基本行为就是分析对象动态作用域:当一个对象在方法中被定义后,它可能被外部方法所引用,例如作为调用参数传递到其他方法中,称为方法逃逸。甚至还有可能被外部线程访问到,比如赋值给类变量或可以在其他线程中访问的实例变量,称为线程逃逸。 如果能证明一个对象不会逃逸 阅读全文

使用与运算符代替求余运算符的技巧

2017-07-12 14:06 by 放作夥, 1341 阅读, 0 推荐, 收藏,
摘要:1.性能对比: 求余运算:a % b就相当与a (a / b) b 的运算。 与运算:就是一个指令的事 2.在特殊场景下,是否能用与&替代%呢? 在对10进行求余的时候,我们发现,余数总是整数中的个位上的数字,而不用管其他位是什么; 在与运算中,我们经常需要使用位操作符&来取某些位上的值,例如使用0 阅读全文