自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

极光

做程序,须入乎其内,又须出乎其外。入乎其内,故能写之;出乎其外,故能观之。入乎其内,故有生气;出乎其外,故有高致。

  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 拥抱变化—— 可扩展性杂谈

拥抱变化—— 可扩展性杂谈                                                                                      杨小华作为软件开发人员最担心的就是变化,因为一旦变化,意味着自己的开发任务加重, 轻则修改代码,重则修改框架,如果不用做任何修改,则皆大欢喜,

2011-06-13 22:31:00 20565 17

原创 炉边夜话---多核多线程杂谈

炉边夜话---多核多线程杂谈(精简版)多核多线程已经成为当前一个时髦的话题,早在2005年C++大师Herb Sutter就说过免费的午餐已经结束,并发编程的时代已经来临。从接触第一个多线程项目以来,已经是第四个年头了,一直想把这几年的点点滴滴写成文章,让刚接触的人少走弯路,这便是我写这本书的初衷。很早就有了此想法,一是由于自己懒惰,二是业余时间比较少,三是才疏学浅不敢瞎写,所以一直未能成

2010-01-20 23:22:00 18154 7

原创 我的专题文章之一 --对变量的总结

我的专题文章之一 --对变量的总结 三篇文章总算完成了。可以说在6月8号就完成了。主要是由于工作的原因,比较忙,贴上来还要排版,所以最后一篇文章放上来的时间晚了点。在我word文档里面有很多箭头,而CSDN的Blog里面不支持箭头,所以要花不少时间来排版。之所以要排版,是为了以后自己看的舒服一点,这样才有心情看下去。当我写完这三篇文章之后,自己觉得收获很大。在写这三篇文章的过程

2006-06-25 18:36:00 7599 1

原创 博客搬家了

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2zjzum5pf2io8

2018-09-03 17:56:53 250

转载 RESTful API 设计最佳实践

背景目前互联网上充斥着大量的关于RESTful API(为了方便,以后API和RESTful API 一个意思)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API格式如何?你的API是否应该加入版本信息?当你开始写一个app的时候,特别是后端模型部分已经写完的时候,你不得不殚精竭虑的设计和实现自己app的public API部分。因为一旦发布,对外发布的API将会很难改变。在给Su

2014-05-29 12:32:56 12979

原创 究竟是测试重要,还是工程重要?

近期一直在负责IPV6一致性测试的工作,

2014-04-29 18:40:11 12002

原创 模仿的两端分别是山寨和微创新

模仿的两端分别是山寨和微创新                                                                                 --- 2012移动开发者大会参加有感2012移动开发者大会已经落幕,尘埃落定了。精彩的大会给我留下了深刻的印象,见到了仰慕已久的开复老师,小马哥,蒋总,这次算是见到真人了,当然还有很多技术大牛!这次能参加大会

2012-10-30 21:17:54 16914 14

原创 我的专题文章之三------对多核多线程的总结

    我的专题文章之三------对多核多线程的总结 杨小华      从开发第一个基于多线程的项目已经有四个年头了,一路也是跌跌撞撞,不断的更新自己对多核多线程的认知程度,不断的实践,不断的优化和总结。 在这个过程中,写了不少关于多线程的文章,既是总结,也是鞭策自己更加深入的了解。     写的第一篇多线程的文章,是关于编译方面的,当然这篇文章重点在于介绍autoc

2009-12-19 21:08:00 17293 3

原创 利用Oprofile对多核多线程进行性能分析

利用Oprofile对多核多线程进行性能分析 杨小华 工欲善其事,必先利其器                                 ---墨子性能分析工具简介在对应用程序不断调优的过程中,除了制定完备的测试基准(Benchmark)外,还需要一把直中要害的利器——性能分析工具。 根据工具的复杂度和所提供的功能,可以将性能工具分为两个层次: 

2009-12-19 20:32:00 21901

原创 铁路与多核多线程

铁路与多核多线程 杨小华   多核多线程已经成为当前一个时髦的话题,早在2005年C++大师Herb Sutter就说过免费的午餐已经结束,并发编程的时代已经来临。从接触第一个多线程项目以来,已经是第三个年头了,一直想把这几年的点点滴滴写成文章,让刚接触的人少走弯路,这便是我写这篇系列文章的初衷。    如何理解多核多线程这些概念呢?    在自然世界中,总有那么一些事物是类似

2009-04-05 23:03:00 14249 2

原创 调查问卷:测试你对多核多线程的认知程度

测试你对多核多线程的认知程度        目前,多核多线程编程已经成为一种趋势,但大部分程序员还没有从串行程序的思维中走出来。即使有些人对多核多线程的概念有所了解,但也是一知半解,写起多核多线程程序来总是束手束脚。        据Intel预测,到2013年CPU将达到256核。掐指头算一算,也就是还有5年的时间,但留给我们程序员的时间却很少了。这不是危言耸听,现实情况确实如此。如果从现在就开

2008-11-23 21:50:00 15640

原创 人月神话中的神话(二)

人月神话中的神话(二)                                                      ------从游击队向正规军的转变         正如《焦油坑》一章中所论述的那样,编程系统产品开发的工作量是独立程序工作量的9倍,其中相同功能的编程产品是经过测试程序的3倍,编程系统是程序的3倍工作量。说明了程序一旦规范化、系统化、产品化往往都需要付出更

2008-01-13 15:48:00 13830

原创 人月神话中的神话(一)

  人月神话中的神话(一)序       提起《人月神话》这本大名鼎鼎的书,相信大家都不会陌生。在很多卖书的网站,不少网友都各抒己见, 纷纷发表评论和意见;国内也发行了一本32周年纪念本,随书附送的小册子里面,集结了不少精彩的评论,同时还出版了一本《人月神话》注释版;周爱民先生也写了一篇文章《杀不死的人狼》,发表自己的见解。恐怕象这样火爆书比较少吧。       很早以前就知道了这

2008-01-13 15:43:00 13202 1

转载 奔向成功的十个好习惯

    一、不轻言退缩    二、不停学习,不断修正。    三、坐言起行,立即动手,从小事做起。    为什么看到机会却没有抓住,是因为我们在犹豫:用什么方法更好啊,是不是还有更好的机会啊,或者这是不是机会啊。    说狼在森林里追兔子,兔子看到狼来了决定跑,它想,是先跳左腿,还是先跳右腿,是怎么跳好看一点,还没来得及想完,就被狼吃了。    简单的事情简单做,复杂的事情简单做,简单的事情重

2007-09-05 22:22:00 13389

原创 我的专题文章之二----对中断的总结

    我的专题文章之二----对中断的总结    记得在我读大学上汇编这门课程时,老师在讲台上讲中断讲的天花乱坠,但我听的不知所云。不是老师讲的不好,而是我当时的水平有限,无法理解中断的真正含义。如果当时通过源码来讲解中断,可能还会理解一点。 大学才毕业的时候,只知道中断的定义,不知道中断究竟是什么。    后来由于工作的需要,从事linux内核方面的研究。对进程调度和中断研究比较多,随着理

2007-06-12 23:51:00 15263

原创 对中断的一点思考

对中断的一点思考杨小华([email protected])    对于X86的单处理器机器,一般采用可编程中断控制器8259A做为中断控制电路。传统的PIC(Programmable Interrupt Controller)是由两片8259A风格的外部芯片以“级联”的方式连接在一起。每个芯片可处理多达8个不同的IRQ输入线。因为从PIC的INT输出线连接到主PIC的IRQ2引

2007-06-12 23:30:00 17970

转载 [转载]优秀中层必备的十大能力

优秀的中层都是相似的,糟糕的中层却各有各的糟糕之处!糟糕的地方就不多说了,其实也没法说,还是说说优秀中层相似的地方吧。很多朋友看了我刘兴亮的拙作《中层管理团队是怎样打造出来的》和《团队管理中的六个“力”》后,想让我有空再总结总结优秀中层应该具备的能力,现在就简要说说吧。具体来说,一个优秀的中层必备以下十大能力:  一、领悟能力。领悟能力的最重要的地方在于先弄清上司希望你做什么,然后以此为目标来把握

2007-05-24 23:18:00 13375

原创 《多核程序设计技术》读书笔记一

《多核程序设计技术》读书笔记一1. 冯.诺伊曼体系结构的计算机和图灵机    冯·诺伊曼体系结构的计算机工作原理: 在计算机内部使用二进制、计算机采用五大模块:控制器、运算器、存储器、输入输出设备。 程序能够存储并自动执行。数据通过输入设备进入计算机存储器,在控制器的指挥下在运算器进行逻辑运算和算术运算处理,通过输出设备把结果告诉计算机用户。在这种结构中,程序就是按顺序存储在计算机存储器中

2007-05-07 23:52:00 16104

原创 Intel多核培训感想

  Intel多核培训感想         今天是参加Intel多核和多线程培训的第一天,感触颇深。因为目前我们正在开发一个分布式的多线程系统,前不久也做过一些优化,听了今天的课程,能产生一点点共鸣。在培训之前,Intel就已经将教材发给了我们,当时看了一下student book的内容,都是针对于它们的多核CPU、编译器和分析工具的一些实验,这些工具都没有接触过,浏览了一遍也没有看出一个

2006-12-27 22:13:00 13848 1

原创 网桥、网关、交换机、中继器与路由器之间的区别以及所处的层

中继器是连接网络线路的一种装置,常用于两个网络节点之间物理信号的双向转发工作。中继器是最简单的网络互联设备,属于物理层的设备。网桥是一个二层(数据链路层)设备,用于隔绝冲突,但是不能隔绝广播。常常是基于软件的,现在使用得很少。交换机是一个多端口的二层(数据链路层)设备,又叫做多口桥,功能除了网桥所具有的功能之外,还有其特定的高级功能,如路由。路由

2006-11-04 20:47:00 21760

转载 很幽默的讲解六种Socket I/O模型

很幽默的讲解六种Socket I/O模型 信息来源:幻影论坛     作  者: flyinwuhan (制怒·三思而后行) 本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教。一:select模型二:WSAAsyncSelect模型三:WSAEventSelect模型四:Overlapped I/O 事件通知模型五

2006-07-30 01:18:00 24826 5

原创 难道我们的祖先都是这样写程序的?

       记得第一次看到该程序时,是大学才毕业那会儿,好像是CSDN的论坛上。当时还有点不敢运行该程序,主要怕是病毒。想了想,还是忍不住好奇,拷贝debug模式下运行一次。没有想到今天又在chinaren的论坛上看到了该程序。等我打开帖子,当看到这一串串奇妙的数字时,就已经知道了程序的结果。但还是看不懂这一串串数字代表的含义。        记得读书的时候,老师在课堂上对我们说,在计算机发

2006-07-10 23:11:00 2798 4

原创 盛夏大餐--水煮多线程

深度下潜――多线程篇 作者:杨小华 计算机系统变得越来越复杂,多线程机制给我们带来了能够继续管理它们的希望。――Andrew Koening and Barbara Moo一、      线程的基本概念进程(process)和文件(files)是UNIX/Linux操作系统两个最基本的抽象。进程是处于执行期的程序和它所包含的资源的总和,也就是说一个进程就是处于执行期的程

2006-07-08 22:31:00 6114 2

原创 通过内核源码看函数调用之前世今生

通过内核源码看函数调用之前世今生                                                                             作者:杨小华栈(Stack):一个有序的积累或堆积                                                         

2006-06-25 17:34:00 9320 1

原创 考场安排---图的着色原理之运用

考场安排姓名:杨小华 【问题描述】设学校共有n门课,需要进行期末考试,因为不少学生不止选修一门课程,所以不能把同一个学生选修的两门课程安排在同一场次进行考试,问学期的期末考试最少需多少场次考完?(提示:如果两门课被同一个同学选上,则表示这两门课的顶点之间存在一条边)。试设计一算法,当给定一个图时G=(V,E),|V|=n,(Vi,Vj)ЄE,当且仅当有一个同学选了课程i和课

2006-06-25 13:21:00 6309 3

原创 冒泡和选择排序

#include <stdio.h>#include <stdlib.h>#include <string.h>//冒泡排序void bubbleSort(int *a,int len){     int i,j,temp;     for(i = 0;i<len-1;i++)     {          for(j=0;j<l...

2006-06-19 23:32:00 1997

原创 快速排序

//快速排序,主要思想是通过一趟排序将待排序的记录分割成相邻的两个区域,//其中一个区域中的关键字均比另一区域中记录的关键字要小,在分别对这两个//区域进行排序,以达到整个序列有序。一般情况是O(logn),最坏情况是O(n) #include <stdio.h>#define N 10int QSorting(int *a, int start, int end)...

2006-06-19 23:30:00 1758

原创 二分查找算法

二分查找算法是基于已经排好序的数列。这是它的实现:#include #include #include //二分法查找int find(int *result,int key,int len){ int first,end,mid; first=0; end=len-1; while(first {  mid=(first+end)/2;  if(result[mid]==key)  

2006-06-19 23:28:00 2977

原创 你的变量究竟存储在什么地方?

 你的变量究竟存储在什么地方?作者:杨小华       我相信大家都有过这样的经历,在面试过程中,考官通常会给你一道题目,然后问你某个变量存储在什么地方,在内存中是如何存储的等等一系列问题。不仅仅是在面试中,学校里面的考试也会碰到同样的问题。       如果你还不知道答案,请接着往下看。接下来,我们将在Linux操作系统上,以GCC编译器为例来讲解变量的存储。       在计算

2006-06-08 23:55:00 14058 4

翻译 CPU亲合力(CPU Affinity)

CPU Affinity作者:Robert Love   翻译:normalnotebookBind specific processes to specific processors with a new system call. 使用新的系统调用,可以将一个进程绑定到一个特定的CPU上运行。The ability in Linux to bind one

2006-06-03 18:09:00 7657

原创 深入变量的“案发”现场

深入变量的“案发”现场 作者:杨小华       当《绝对能够测试你的C语言功力的几个问题》第一次出现在CSDN首页时,我就进入了张老师Blog。客观上说,出的题目比较基础,但每一题都说出一个所以然来,恐怕不是很简单。过了几天就贴出了《语言测试题的讲解分析》,我怀着好奇的心情进去看了看。发现里面赞扬的也有,诋毁的也有。韩愈《师说》里面讲过:闻道有先后,术业有专攻。张老师自然有他的可取之处,

2006-06-01 22:27:00 5353 6

转载 世上最经典的25句话

1,记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的 2,能冲刷一切的除了眼泪,就是时间,以时间来推移感情,时间越长,冲突越淡,仿佛不断稀释的茶。 3,怨言是上天得至人类最大的供物,也是人类祷告中最真诚的部分 4,智慧的代价是矛盾。这是人生对人生观开的玩笑。 5,世上的姑娘总以为自己是骄傲的公主(除了少数极丑和少数极聪明的姑娘例外) 6,如果敌人让你生气,那说明你还没有胜他的把握 7,如果

2006-05-30 21:26:00 1498

原创 蠕虫和病毒的区别

蠕虫(worm)和病毒(virus)都是试图在计算机中传播他们自己的代码。但蠕虫可以自己运行,并且能够将一个完全有效的自己传播到其他机器。病毒能够将自己添加到包括操作系统在内的其他程序中,但它不能独立运行。                                                                                               

2006-05-28 11:07:00 13013 1

原创 对虚拟内存的经典解释

如果它存在,而且你能看见它---它是真实的(real)如果它不存在,但你能看见它---它是虚拟的(virtual)如果它存在,但你看不见它---它是透明的(transparent)如果它不存在,而且你也看不见它---那肯定是你把它擦掉了。                                                                       

2006-05-23 22:30:00 2463

原创 JNI设计实践之路

JNI设计实践之路作者:杨小华  一、       前言本文为在 32 位 Windows 平台上实现 Java 本地方法提供了实用的示例、步骤和准则。本文中的示例使用 Sun公司的 Java Development Kit (JDK) 版本 1.4.2。 用 C ++语言编写的本地代码是用 Microsoft Visual C++  6.0编译器编译生成。规定在Java程序中

2006-05-19 00:21:00 7886

原创 GCC内嵌汇编语言

GCC内嵌汇编语言作者:肖文鹏 临江仙  整理:杨小华绝大多数 Linux 程序员以前只接触过DOS/Windows 下的汇编语言,这些汇编代码都是 Intel 风格的。但在 Unix 和 Linux 系统中,更多采用的还是 AT&T 格式,两者在语法格式上有着很大的不同。汇编基本语法简介在 AT&T 汇编格式中,寄存器名要加上 % 作为前缀;而在 Intel 汇编格式中,寄存

2006-05-14 21:49:00 6557 4

原创 免费的午餐已经结束,你准备好了吗?

免费的午餐已经结束,你准备好了吗?作者:杨小华引子2005年3月,C++大师Herb Sutter在Dr.Dobb’s Journal上发表了一篇名为《免费的午餐已经结束》的文章,一石激起千层浪,该文引起了社区广大程序员的热烈讨论。文章指出:现在的程序员对效率、伸缩性、吞吐量等一系列性能指标相当忽视,很多性能问题都依仗越来越快的CPU来解决。但CPU的速度很快将偏离摩尔定律的轨迹,并达

2006-05-14 10:29:00 3382 2

转载 大学四年(转载)

一、占位   大一:(小心翼翼的问)同学,你旁边没人吧?   大二:不由分说,天女散花式的把占位本撒出去,一人一次性搞定N个位置。   大三:(看见有人做在了自己占的位置上,皱着眉头走过去,但还是客气的说)同学,你是不是快回去了?   大四:“谁那么讨厌,敢跟我抢位子。”(啪,把别人占位的本摔到了讲台桌上。)二、读书   大一:分秒必争,延续高考的光荣传统,上到12点,立志四年不虚度。   大二:

2005-09-10 20:16:00 1602

原创 在Debian中打造属于自己的deb包

在Debian中打造属于自己的deb包作者:normalnotebook 问题:如果你要在Debian系统中发布一款软件或者一个包,该如何做呢?如果你的项目中有各种二进制包,该如何维护呢?如果你自己做了一款小小的实用软件,该如何与朋友分享呢?……. 案例:假如我从网上下载了eclipse-SDK-3.1-linux-gtk.tar.gz压缩文件,我想把他安装到/opt/eclipse目录下,且菜单

2005-07-05 00:15:00 2693 1

原创 构造函数浅析

构造函数浅析作者:normalnotebook    构造函数把一堆无逻辑联系的存储单元单位转换成一个活生生的对象.它可能用于初始化该对象的内部数据成员,也可能用于分配资源(内存、文件、信号量等等).构造函数是与类同名的成员函数.构造函数是在创建类的对象时自动调用的.其一般表现形式为:X::X();class X{public:       X();       X(i

2004-12-12 22:53:00 2155 2

炉边夜话---多核多线程杂谈

主要介绍了Linux多核多线程编程相关知识,以及如何借助工具进行优化,利用多线程提高程序性能。源码实例丰富,是多核多线程中初学者必备文档。

2010-01-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除