自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (3)
  • 收藏
  • 关注

原创 C++memset内存陷阱

近日接到任务,公司一套UNIX下的C++程序每隔一段时间会出现僵死,处理变慢,重复处理数据的情况。这种情况延续了2年之久,每次出问题都是由运维人员进行手动重启处理,由于涉及到电信用户的计费,该情况无法复现。该程序在用户态24小时运行,整体架构使用C++的面向对象特性,使用多态实现多个子类各自独立的业务处理,采用多进程单线程的模式。近日刚好碰到一次程序处理变慢并重复处理数据的情况,对日志进行了详...

2019-01-15 03:19:36 857

转载 epoll详解

首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。    不管是文件,还是套接字,还是管道,我们都可以把他们看作流。    之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,

2016-04-26 12:06:24 338

转载 select函数总结

阻塞方式block,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回。使用Select就可以完成非阻塞non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回一个代码来告知事件未发生,而进程或线程继续执行,所以效率较高。

2016-04-26 00:13:43 221

原创 xml,json,http,socket的区别

1)XML 和JSON是两种完全不同的数据表达方式。他们分别采用完全不同格式将原始数据转换成XML或者JOSN格式数据;然后再将XML或JOAN格式的数据还原为原始数据2)Socket是用来编写TCP/IP或UDP/IP通信程序的;HTTP是使用TCP/IP的“应用层协议”,HTTP协议利用(借助于)TCP/IP 实现传输。3)XML和JSON都可以借助HTTP进行传输===

2016-01-11 16:20:33 614

转载 JSON和XML的比较

JSON和XML的比较  ◆可读性  JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式,很难分出胜负。  ◆可扩展性  XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,而JSON却不能。不过JSON在Javascript主场作战,可以存储Javascript复合对象,有着xml不可比拟的优势。  ◆编码难度  XML有丰富的编码工具,

2016-01-11 14:47:54 237

转载 STL容器介绍与效率比较

1、vector变长一维数组,连续存放的内存块,有保留内存,堆中分配内存;支持[]操作,高效率的随机访问;在最后增加元素时,一般不需要分配内存空间,速度快;在中间或开始操作元素时要进行内存拷贝效率低;vector高效的原因在于配置了比其所容纳的元素更多的内存,内存重新配置会花很多时间;注:需要高效的随即存取,而不在乎插入和删除使用vector。

2016-01-11 14:36:25 363

原创 C++memset内存陷阱

今日接到任务,公司一套UNIX下的C++程序每隔一段时间会出现僵死,处理变慢,重复处理数据的情况。这种情况延续了2年之久,每次出问题都是由运维人员进行手动重启处理,由于涉及到电信用户的计费,该情况无法复现,现在需要我来定位该困境。该程序在用户态24小时运行,整体架构使用C++的面向对象特性,由一个基类继承,使用多态实现多个子类各自独立的业务处理,采用多进程单线程的模式。近日刚好碰到一次程序处理

2016-01-06 23:21:40 95

原创 python笔记01--list,map使用

开始学习python语言的第三天,跟着廖雪峰老师的教程一步步学习,学到了高阶函数编程。前面的基础课程,从编译器使用开始,到基础部分的变量,判断,循环,数据结构,到现在的高阶函数编程,决定做些习题练练手。题目为将不规则的英文名变为首字母大写其余小写的规范字符串,题目非常简单,但运用到了python语言的基础部分。首先想到的是用循环逐个改变字符的大小写,这里用到自带函数upper()和lower(

2015-12-29 22:26:33 3110

原创 c++ note--unix程序日志实现

unix-C++程序日志实现

2015-12-20 16:27:45 416

原创 C++ note--常见排序算法

在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。//冒泡排序(O(n2))void maopao(int *list,int count){ int i, j, temp; for (i = 0;i < count;i++) { f

2015-12-20 14:18:01 233

原创 C++ note--二分法的实现

int BinarySearch(int array[],int t){ int low, high, mid; low = 0; high = array.length; while (low <= high) { mid = (low + high) / 2; if (array[mid] < t) low = mid + 1; else if (arr

2015-12-20 01:52:14 214

原创 c++ note--二叉树的实现

二叉树是一种非线性的数据结构。//定义二叉树struct Binary_tree{ char m_data; //节点存放的数据 Binary_tree *m_left; //左子树节点指针 Binary_tree *m_right; //右子树节点指针};//二叉树初始化Binary_tree * My_Init(char data){ Binary_tr

2015-12-20 01:27:08 202

mfc中指针使用方法大全

包含MFC程序中各种使用指针的技巧和方式,内容详细全面适合学习

2014-03-23

圈叉棋win32控制台小游戏

vc6.0环境下编写的win32控制台小游戏圈叉棋,希望c/c++初学者借鉴,可以在学习中获得乐趣

2014-03-23

推箱子win32控制台小游戏

vc6.0环境下编写的win32控制台应用,简单的小游戏推箱子,c/c++编写

2014-03-23

空空如也

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

TA关注的人

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