自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (17)
  • 收藏
  • 关注

转载 一致性hash算法详解

consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的...

2011-09-30 20:01:52 1928

原创 Prototype原型模式

1. 字符编码简介1.1. ASCIIASCII (American Standard Code for Information Interchange),是一种单字节的编码。计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制 符号。不过ASCII只用到了其中的一半(/x80以下),这也是MBCS得以实现的基础。1.2. MB

2011-09-30 18:42:04 951 1

原创 Nat

网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,

2011-09-29 17:11:48 897

原创 获得Linux系统中的IP、MAC地址等信息

实际环境和特殊需求往往会将简单问题复杂化,比如计算机IP地址,对于一个连接中socket,可以直接获得本端和对端的IP、端口信息。但在一些特殊场合我们可能需要更多的信息,比如系统中有几块网卡,他们的Mac地址是多少,每块网卡分配了几个IP(一个网卡对应多个IP)等等。这些信息

2011-09-29 16:34:25 2161

原创 如何在离开页面时弹出确认对话框

离开页面确认主要是利用了onbeforeunload事件,当该事件声明为时(注意是return一个函数),在页面离开时将弹出默认的询问确认窗口, pageBeforeunload()函数只需要返回一个字符串,字符串的内容将显示在该窗口的中间一行,点击OK离开页面,点击Ca

2011-09-29 12:43:26 4451

原创 上海华为的一道关于指针方面的编程题

如下:int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至 数组前面并保持有序,返回值为原数据中第一个元素为0的下标。(尽可能不使用辅助空间且考虑效率及异常问题,注释规范

2011-09-27 19:33:25 1643

原创 常见字符串处理函数返回值的总结

1 int getchar(void);getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显

2011-09-27 10:12:09 2025

原创 在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?

函数经过编译系统的翻译成汇编,函数名对应着汇编标号。因为C编译函数名与得到的汇编代号基本一样,如:fun()=>_fun, main=>_main但是C++中函数名与得到的汇编代号有比较大的差别。如:由于函数重载,函数名一样,但汇编代号绝对不能一样。为了区分,编译器会把函数名和参数类型合在一起作为汇编代号,这样就解决了重载问题。具体如何把函数名和参数类型合在一起,要看编译器的帮助说明了

2011-09-25 18:58:06 2102

原创 shell实现文件的搜索详解

1. 概述通常我们先使用whereis 或locate 来检查文件,如果找不到,才使用find 命令来搜索。为什么呢?因为whereis 与locate 是使用数据库来搜索数据,而实际没有搜索硬盘,比较省时,所以速度快。但是缺点是找到的文件可能已经被删除,或者新建的文件也找不到。解决方法:一是手动更新数据库,使用updatedb 命令;二是修改/etc/updatedb.conf 的设置,把“

2011-09-25 18:50:20 1759

原创 程序员笔试知识点整理

0、常考基础必知必会A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法; B. 查找:哈希查找、二叉树查找、折半查找的对比,哈希映射和哈希表的区别?C. 链表和数组的区别,在什么情况下用链表什么情况下用数组? D. 栈和队列的区别?E. 多态,举例说明;overload和override的区别? F. 字符串有关的函数,比如让你写一个拷贝字符串的函数啊,或

2011-09-25 18:37:24 5737 4

原创 C++面试资料之问答题集合(找工作复习)

1.在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?答:首先,extern是C/C++语言中表明函数和全局变量作用范围的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。extern "C"是连接申明(linkage declaration)

2011-09-25 18:33:20 3026

原创 const int * p与int *const p的详解

1) const int *p 与int const *p:需要记得   const     和     type   的位置是可以互换的, const   不能修饰   type   , 而是修饰后面的变量,所以: const   int*   p;   ==》int   const   *   p;   const修饰了   *p, *p表示一个指针指向的值,那么   cons

2011-09-25 18:26:27 1844

原创 typedef和define的详解

#define struct s *  tPS 和 typedef  struct s * tPS 哪个好,为什么?1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不管含义是否正确,照样带入,只有在编译已被展开的源程序时,才会发现可能的错误并报错。例如:#define PI 3.1415926程序中的:area=PI*r*r 会替换为3.141592

2011-09-25 17:59:43 954

原创 字符串最大问题

1 求两个字符串的最大公共字串#include "stdio.h" #include "malloc.h" #include "string.h" char *maxsubstr(char *str1, char *str2) {

2011-09-25 09:10:08 802

原创 参加笔试的总结

1 #define struct s *  tPS 和 typedef  struct s * tPS 哪个好,为什么?1)关键字typedef在编译阶段有效,由于是在编译阶段,因此typedef有类型检查的功能。Define则是宏定义,发生在预处理阶段,也就是编译之前,它只进行简单而机械的字符串替换,而不进行任何检查。2)Typedef用来定义类型的别名,这些类型不只包含内部类型(i

2011-09-25 08:28:08 1026

原创 C++变量在内存中的存储区域

01 #include 0203 #include 04 using namespace std;05 int a = 0; // Initialization Area of Overall06 char *p1; // Not Initialization

2011-09-25 08:22:46 887

转载 深入理解HTTP协议

最近在调试 前后端分离的请求测试,遇到了一个406错误, 无法接受,于是开始了人肉搜索406最后 还是HTTP头部信息里的Accept:application/json  这个Accept 导致的, 后端设置了只允许application/json 这种形式,so前端模拟请求的时候,你也要和后端沟通好,然后发送请求参数,就可以了!正好,也忘得差不多了,下面我们就来总结和回顾

2011-09-24 10:39:55 1784

转载 在二元树中找出和为某一值的所有路径

题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22和如下二元树                                            10                                           /   \

2011-09-23 20:24:27 817

原创 二叉树两个结点的最低共同父结点【算法】

题目:二叉树的结点定义如下:struct TreeNode{ int m_nvalue; TreeNode* m_pLeft; TreeNode* m_pRight;};输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点。分析:求数中两个结点的最低共同结点是面试中经常出现的一个问题。这个问题至少有两个变种。第 一变种是二叉树是

2011-09-23 20:21:41 1078

原创 单链表的反转

typedef struct LinkNode { int data; struct LinkNode* next; }LinkNode, *LinkList; LinkList ReverseList(LinkList head) { if (head == NULL || head->next == NULL) { return head; ...

2011-09-23 19:58:01 798

原创 Shell变量,判断和控制语句详解

1. 变量与算术POSIX Shell 为内嵌(inline) 算术提供T 一种标记法,称为算术展开(arithmetic expansion) 。Shell 会对$((…)) 里的算术表达式进行计算,再将计算后的结果放回到命令的文本内容。1.1. 变量与环境有两个相似的命令提供变量的管理,一个是readonly ,它可以使变量成为只读模式; 而赋值给它们是被禁止的。一个是export

2011-09-23 18:33:31 1118

转载 关于IP地址分类和子网掩码

为了给不同规模的网络提供必要的灵活性,IP地址的设计者将IP地址空间划分为五个不同的地址类别,如下表所示,其中A,B,C三类最为常用:A类IP地址  一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0

2011-09-23 18:18:25 1665

原创 路由器和交换机的原理

号称网络硬件三剑客的集线器(Hub)、交换机(Switch)与路由器(Router)一直都是网络界的活跃分子,但让很多初入网络之门的菜鸟恼火的是,它们三者不仅外观相似,而且经常呆在一起,要想分清谁是谁,感觉有点难!就让我们一起来看看它们之间有什么区别和联系吧!三剑客的工作

2011-09-23 18:10:26 1586

原创 路由器和交换机的区别

交换机是一种基于MAC(网卡的硬件地址)识别,能完成封装转发数据包功能的网络设备。交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。交换机主要是组成局域网,例如一个公司网络的搭建一般是使用交换机的,交换机不能转发数据包,也没有路由到目的地址.现在交换机也分为二层交换机和三层交换机,三层交换机具有了路

2011-09-23 18:05:00 1019

原创 逆波兰式(后缀式)详解

1、建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,

2011-09-23 18:02:35 5339 1

原创 OSI七层模型

1.OSI模型国际标准化组织(International Standardization Organization,ISO)于1978年提出了一个网络体系结构模型,称为开放系统互联参考模型(OSI)。OSI有7层,从低到高依次称为物理层、数据链路层、网络层、传输层、会话层、表

2011-09-23 18:00:08 1076

转载 常见的链表题目

一些常见的单链表题目,总结思路和实现代码。1.单链表的反序2.给单链表建环3.检测单链表是否有环4.给单链表解环5.检测两条链表是否相交6.不输入头节点,删除单链表的指定节点(只给定待删除节点指针) 1.单链表的反序//逆转链表,并返回逆转后的头节点 node* reverse(node *head) { if(head == NULL ||

2011-09-21 13:36:59 1041 1

转载 C语言中strcpy,strcmp,strlen,strcat函数原型 .

C语言中strcpy,strcmp,strlen,strcat函数原型今天去文思创新面试,考官问了我一个简单的实现,即:自己编写strcpm的实现,IBM曾经也考过写strcpy原型,这几个函数在面试的时候经常被考到,很具有代表性,突然被问起还真有点措手不及呢。现在记下供大家学习和以后温习:(下面的程序经本人通过)1、Strcat函数原型如下:char *strcat(char

2011-09-20 18:52:19 2077

原创 单链表是否有环并如何找到环入口

1、如何判断一个链表是不是有环?   2、如果链表为存在环,如果找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)程序如下:bool IsExit

2011-09-20 18:02:17 1672

原创 常见指针内存处理问题的详解

常见的 指针,内存操作问题void getMemory(char *p){ p = (char *)malloc(100);}int main(){ char *str = NULL; getMemory(str); strcpy(str,"hello world."); p

2011-09-17 21:43:56 1342

原创 翻转句子中单词的顺序

题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。分析:由于编写字符串相关代码能够反映程序员的编程能力和编程习惯,与字符串相关的问题一直是程序员笔试、面试题的热门题目。本题也曾多次受到包括微软在内的大量公司的青睐。由于

2011-09-16 18:39:53 1321

转载 查找链表中倒数第k个结点

题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};分析:为了得到倒数第k个结点,很自然的想法是先走到链表的尾端,再从尾端回溯k步。可是输入的是单向链表,只有从前往后的指针而没有从后往前的指针。因

2011-09-16 18:10:34 973 1

原创 枚举类型在组合数据的使用

先看一段代码:#include "stdio.h"int main(){ enum color{red,yellow,blue,white,black}; int i,j,k,n = 0,nChoice,loop; //printf("red = %d,black = %d\n",red,black); for(i = red; i <= black;i ++) { for

2011-09-16 13:40:28 897

原创 HTTP协议的详解

引言                                        HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation

2011-09-15 21:00:37 2193

原创 Linux top命令详解

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使 用方法。top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zomb

2011-09-12 21:41:30 1510

转载 Linux 的多线程编程的高效开发经验

背景Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上的问题,并分别引出相关改善

2011-09-11 14:51:45 1180

原创 Nginx 负载均衡配置实例

一)简单的配置首先是配置十分的简单,而且功能非常强大。真是相见恨晚。先来看看配置文件怎么写吧。worker_processes 1; events { worker_connections 1024; } http{ upstream myproject { #这里指定多个源服务器,ip:端口,80端口的话可写可不写 server 192.168

2011-09-11 14:47:11 1542

原创 十进制转换为N进制

一)简洁的整数转换为字符串的形式char *simple_itoa(unsigned int i){ /* 21 digits plus null terminator, good for 64-bit or smaller ints * for bigger ints, use a bigger buffer! * * 4294967295 is,

2011-09-11 14:37:48 1044

原创 pthread_once()函数详解

线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些

2011-09-11 14:34:03 1764

原创 MySQL的log-bin的日志功能

装mysql,运行一段时间后,在mysql目录下出现一堆类似mysql-bin.000***,从mysql-bin.000001开始一直排列下来,而且占用了大量硬盘空间,高达几十个G. 对于这些超大空间占用量的文件我们应该怎么办呢?那么mysql数据库文件夹中的mysql-bin.00001是什么文件?mysql-bin.000001、mysql-bin.000002等文件是数据库的操

2011-09-11 14:26:35 2041

分布式系统英文版

分布式系统的英文版课本,原版的英文文本,希望对大家有所帮助,现分享给大家。

2012-03-10

OpenGL开发的下雪的场景

OpenGL开发的下雪的场景,配置背景音乐,场景比较舒适,VC+OpenGL 学习的经典 ~~

2011-06-03

用VC开发的数字钟系统

用VC开发的数字钟系统,整个过程,算法设计的比较好,分享给大家 ~~

2011-06-03

C语言图书管理系统,很经典的代码

C语言图书管理系统,功能很齐全,模块化,分享给大家 。。。

2011-06-03

socket网络通信报考客户端和服务器端

socket网络通信报考客户端和服务器端,是比较好学习socket通信基础的网络通信系统

2011-06-03

用vc开发的peeryou

用MFC开发的peeryou系统,结合网络通信相关技术,不错的学习VC和网络通信的结合体

2011-06-03

ARM与智能手机软件开发

ARM与智能手机软件开发,这是一套完整的资料,比较系统地介绍了这些知识和技术,供大家学习和交流~~

2011-03-26

在Symbian开发环境,开发技术

在Symbian开发环境,开发技术,这是一套完整的学习资料,比较系统的介绍了Symbian开发,分享给大家~~

2011-03-26

用MFC做的数字示波器,觉得挺好的

用MFC做的数字示波器,觉得挺好的,具有全方位的各种功能,可以供大家学习和参考,希望对大家能有所帮助~~

2011-03-26

已知二叉树的前序和中序遍历,打印后序遍历

已知二叉树的前序和中序遍历,打印后序遍历,采用二叉树的非递归算法,分享给大家~~

2011-03-26

全国计算机等级考试,上机考试题目基本上是这里面的

这里包含了计算机等级考试中,上机考试的每种题型,而且考试的题目,每年基本从这里选择的,希望能对各位有所帮助,分享给大家~~

2011-03-26

利用VC开发的FlashPlayer播放器,播放文件格式为swf

利用VC开发的FlashPlayer播放器,播放文件格式为swf,类似于暴风影音,画面效果和音质都很不错的

2010-03-31

利用VC+OpenGL显示动态画面

利用VC+OpenGL显示动态画面,三位立体的画面~~

2010-03-31

利用VC做的定时关闭计算机

很实用的,利用VC做的定时关闭计算机,功能比较好,方便计算机用户

2010-03-31

基于表达式的计算器功能比较齐全

利用VC编写的,功能比较齐全的专业科学计算器

2010-03-31

在C语言中算法实现寻找马鞍点算法

通过对二维数组的处理,提出好的算法,进而达到找到马鞍点的要求!

2010-03-29

利用vc++做的简单的计算器

用VC++做了个计算器,能实现一些最基本的功能,分享一下,呵呵

2010-03-29

空空如也

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

TA关注的人

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