
编程基础
文章平均质量分 73
Dylan_Zhang
电信程序员一枚
展开
-
对象已死?
最近常有一种说法,就是我们如今面临着另外一场编程模型的变革,面向对象技术已经处在被淘汰的边缘,函数式语言会取代面向对象技术成为主流方式,甚至出现了面向对象已死的言论。作为一个硬核函数语言的狂热者,我个人当然希望函数式语言可以一统天下,成为主流之选。但是不是应该把对象技术和函数技术对立起来,说式后者取前者而代之,我个人认为,这和如何看待面向对象技术有关。做为工程实践的对象技术转载 2013-04-22 21:40:19 · 755 阅读 · 0 评论 -
今时今日,C还适合当下之所需么
来自Couchbase的Damien Katz认为C依然是非常适合于后端编程的一门语言,然而有的开发者则觉得C有太多的瑕疵,他们支持C++或是Java,还有一些人连这两种语言也不喜欢。在最近一篇题为The Unreasonable Effectiveness of C的博文中,CouchDB的创建者Damien Katz表示C依然是非常适合于后端编程的一门语言,转载 2013-04-23 21:36:28 · 856 阅读 · 0 评论 -
安全的代码之内存的申请和释放
计算机的程序由代码和数据构成,一个程序占用的内存可以分为代码段和数据段,而数据区又分为常量存储区、静态存储区、堆和栈。这里主要讨论一下堆内存和栈内存。栈内存由自动申请和释放,所申请的内存在变量作用域内有效,退出变量作用域时被释放,这个过程由编译器来完成,安全系数相对较高,效率较堆内存高。堆上的内存由程序员显式的申请并显式的释放,如果只申请不释放,便会造成内存泄露,申请后重复释放,则会造成程序崩原创 2013-04-21 09:17:03 · 1709 阅读 · 1 评论 -
SOLID原则之依赖倒转
面向对象编程的一个重大功能就是“继承”,它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。从“继承”的特点来看,继承的作用之一,就是可以使派生类无差别的使用基类的方法,以实现逻辑的重用。但从虚函数,尤其是纯虚函数来看,“继承”的作用更多的在于“逻辑的分层”,以实现模块间的松耦合。举个例子,如:class Logger{public:virt原创 2013-04-24 20:48:34 · 1138 阅读 · 0 评论 -
控制好你的#include
1、不要include没有用的头文件(Unnecessary Compiling)“不要include没有用的头文件”,这句话看似简单,也很奇怪,但实际项目过程中,随着产品的不断演进,代码越来越庞大,维护人员几经移手,往往会有冗余的头文件被包含。多余的头文件包含不仅造成模块间的耦合,在编译器进行预处理时,还要对头文件进行展开,耗时耗力。在大的项目中,全编译一次几个小时的情况下,这个原创 2013-04-25 20:03:25 · 1240 阅读 · 0 评论 -
那些隐藏在编码过程中的性能(一)
引言:这篇文章主要对编码过程中的一些影响程序性能的编码习惯进行整理说明,文中的示例主要是C/C++的语言来举例,有些可能是伪代码,但总体上应该不会影响阅读。可能因为篇幅和精力的问题,有些内容写的不是很细,又或者有错误,可以跟我交流。1. 大循环放到内侧对于多重循环来讲,将大的循环放到内侧,可以减少压栈出栈的次数,降低CPU开销;如:for(int i = 0; i原创 2013-05-01 21:20:19 · 3459 阅读 · 1 评论 -
关于Java性能九大谬论 你知道哪些?
Java性能问题被冠以某种黑暗魔法的称谓。一部分是因为其平台的复杂性,在很多情况下,无法定位其性能问题根源。然而,在以前对于Java性能的技巧,有一种趋向:认为其由人们的智慧,经验构成,而不是应用统计和实证推理。在这篇文章中,我希望去验证一些最荒谬的技术神话。 1. Java运行慢 在所有最过时的Java性能谬论当中,这可能是最明显的言论。 是的,在90年代和20年代转载 2013-05-02 20:10:44 · 2930 阅读 · 0 评论 -
那些隐藏在编码过程中的性能(二)
6.熟悉你的编译器,使用好编译选项对于不同的编译器,有不同的编译选项。做代码开发必须去了解这些选项,如gcc的-g参数(增加调试信息)。如果想使程序性能在不改变的情况下提升性能,可以采用-O参数。又如aCC的+u选项将重新指定对齐方式。当然,上面的主要针对C/C++开发而言,如果是JAVA开发,则需要去熟悉虚拟机机制。7.不要轻易的绑定CPU对于CP原创 2013-05-18 13:14:56 · 3162 阅读 · 0 评论 -
Linux常用性能调优工具索引
前段时间看到brendangregg的 Linux Performance Analysis and Tools PPT里面提到Linux常用性能调优工具, 见下图:其中提到了的工具,大部分在我日常工具箱里或者在实践的案例里面使用过, 都有很高的价值,这里方便大家索引下:nicstat: 参见 这里oprofile: 参见 这里perf: 参见 这里systemtap: 参转载 2013-05-18 17:26:26 · 2885 阅读 · 0 评论