- 博客(37)
- 资源 (1)
- 收藏
- 关注
转载 High-Performance server architecture
IntroductionThe purpose of this document is to share some ideas that I've developed over the years about how to develop a certain kind of application for which the term "server" is only a weak appro
2013-12-17 19:42:02
739
转载 关于编写高性能服务器的资料汇总(Linux)
关于编写高性能服务器的资料汇总(Linux)这端时间为了写我自己的GSyncer,一直在研究分布式存储和服务器编写这两方面。关于网络编程,Stenvens先生的UNP3自然是必读的,而且在30章还介绍了各种server模型。但是这本书毕竟有点年代了(如果stenvens还在世该多好),有些想法免不了的会显得陈旧,而且因为整本书面向UNIX,一些Linux在网络方面的新特性没有涉及(比如ep
2013-12-17 00:34:26
918
原创 SB了,pthread_cond_wait(),在等待的时候会解锁(阻塞之后,解锁mutex给别的线程),唤醒后加锁,
如题,没弄懂吃了大亏。。。
2013-12-04 00:30:03
2442
转载 编程面试中排名前10的算法相关的概念
以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念。由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍。本文将从Java的角度看问题,包含下面的这些概念:1. 字符串2. 链表3. 树4. 图5. 排序6. 递归 vs. 迭代7. 动态规划8. 位操作9. 概率问题10. 排列组合1. 字符串
2013-12-03 13:33:46
720
转载 Linux内存点滴 用户进程内存空间
Linux内存点滴 用户进程内存空间 出处信息http://blogread.cn/it/article/6455?f=wb1 经常使用top命令了解进程信息,其中包括内存方面的信息。命令top帮助文档是这么解释各个字段的。 VIRT, Virtual Image (kb) RES, Resident size (kb) SHR, Shared Mem
2013-12-01 23:56:11
623
转载 rsync 的核心算法
本文转载来自: 酷壳 – CoolShell.cnrsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输。rsync中一项与其他大部分类似程序或协定中所未见的重要特性是镜像是只对有变更的部分进行传送。rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。rsync利用由Andrew
2013-11-25 21:39:06
615
转载 使用 libevent 和 libev 提高网络应用性能
原文出处:http://www.ibm.com/developerworks/cn/aix/library/au-libev/#l1简介许多服务器部署(尤其是 web 服务器部署)面对的最大问题之一是必须能够处理大量连接。无论是通过构建基于云的服务来处理网络通信流,还是把应用程序分布在 IBM Amazon EC 实例上,还是为网站提供高性能组件,都需要能够处理大量并发
2013-11-17 01:08:04
986
原创 用GDB调试程序
今天好好的用了一下GDB调试程序,发现确实功能很强大,以前总是觉得,这种命令行调试怎么可能和VS的调试相比,现在思想完全转变了,GDB简洁而强大。。。下面给出一个好的介绍GDB调试的文章的链接。http://blog.csdn.net/haoel/article/details/2879 陈皓专栏 【空谷幽兰,心如皓月】注意. 产生错误No symbol
2013-11-17 00:36:52
977
转载 network programming服务器模型
在网络程序里面,一般的来说都是许多客户机对应一个服务器.为了处理客户机的请求, 对服务端的程序就提出了特殊的要求.我们学习一下目前最常用的服务器模型.循环服务器:循环服务器在同一个时刻只可以响应一个客户端的请求并发服务器:并发服务器在同一个时刻可以响应多个客户端的请求9.1 循环服务器:UDP服务器UDP循环服务器的实现非常简单:UDP服务器每次从套接字
2013-11-16 15:50:32
815
转载 linux中各种头文件
sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函数 netdb.h:提供设置及获取域名的函数 sys/ioctl.h:提供对I/O控制的函数 sys/poll.h:提供socket等待测试机制的函数
2013-11-15 23:57:17
5826
转载 RAII惯用法:C ++资源管理的利器
RAII惯用法:C ++资源管理的利器RAII是指C++语言中的一个惯用法(idiom),它是“Resource Acquisition Is Initialization”的首字母缩写。中文可将其翻译为“资源获取就是初始化”。虽然从某种程度上说这个名称并没有体现出该惯性法的本质精神,但是作为标准C++资源管理的关键技术,RAII早已在C++社群中深入人心。我记得第一次学到RA
2013-11-15 20:18:15
922
转载 Linux软连接和硬链接
1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点
2013-11-14 23:09:15
546
转载 linux 内核30题
嵌入式系统Linux内核开发工程师必须掌握的三十道题 如果你能正确回答以下问题并理解相关知识点原理,那么你就可以算得上是基本合格的Linux内核开发工程师,试试看! 1) Linux中主要有哪几种内核锁?Linux的内核锁主要是自旋锁和信号量。自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争用(已经被持有)的自旋锁,那么这个线程就会一直进
2013-11-09 15:16:12
2798
原创 简单的dp
/*题目描述:现在有一个8*8的棋盘,上面放着64个价值不等的礼物,每个小的棋盘上面放置一个礼物(礼物的价值大于0小于1000),一个人的初始位置在棋盘的左上角,每次他只能向下或向右移动一步,并拿走对应棋盘上的礼物,结束位置在棋盘的右下角,请设计一个算法使其能够获得最大价值的礼物。输入:输入包含多个测试用例,每个测试用例共有8行8列,第i行的第j列的数字代表了该处棋盘上的礼物的价值,每两个
2013-11-09 00:19:36
783
原创 6.数组元素最大差(只能后面减前面)【dp】
例如:求数组a[]={8,2,10,3,9}中,数组元素的最大差(只能下标大的元素减去下标小的元素,比如10-2,9-2,不能10-3);#include #include using namespace std;/**关键在于dp函数的理解,这个程序中的dp是我归类为结果在n个结果中最优的那个*dp[i]表示以a[i]结束来作为减数的最大差,也就是用a[i]减去前面的最小值。
2013-11-08 23:26:57
2194
转载 进程间同步总结(linux windows)(还要进一步一个个去写例子)
windows进程间同步方式有:1. 互斥量 mutex 2. 信号量 semaphore 3.事件 event 4.临界区 Critical Section 5.互锁函数 临界区和互锁函数没有相应的内核对象因而不能跨进程 linux进程同步方式有:互斥量、读写锁、条件变量 linux内核同步方法:原子操作、自旋锁、读-
2013-11-03 22:46:40
1563
原创 fork()的一道题
今天看博客的时候发现了这篇文章,作为最近有意向的的Linux,还是看了下,发现自己对fork()的理解确实是汗颜,硬是没弄明白,如下:自己的分析稍后给出。。。。下边原文:链接#include#include#includeint main(void){ int i; for(i=0;i { fork()
2013-11-02 16:54:58
1149
原创 5.数字拆分成4段,怎样使得4段的乘积最小【dp】
给出一个数字(10,000~100,000,000),把这个数字拆分成4段,怎样使得4段的乘积最小。比如12345拆分成1*2*3*45=270,
2013-10-31 22:06:18
3403
2
原创 3.Minimal Number of Coins for Change【dp】
Problem: Please implement a function which gets the minimal number of coins, whose value is v1, v2, …, vn, to make change for an amount of money with value t. Any coin with value vi may duplicate fo
2013-10-31 15:47:34
924
原创 1.Minimal Number of Palindromes on a String(dp)
题目描述:题目来自http://codercareer.blogspot.com/2013/02/no-43-minimal-number-of-splits-on-string.htmlProblem: A string can be partitioned into some substrings, such that each substring is a palindrome. F
2013-10-31 00:43:00
884
原创 C++隐藏
今天又听到了C++中的一个词:隐藏,哎,用了几年的C++了,尽然没听过,看来我还是要滚回去好好温习下C++了:准备在剩下的这一年内抽出时间把《C++ primer》好好的看一遍,然后还有一个好东西,看链接:http://man.chinaunix.net/develop/c&c++/c/c.htm#_Toc5206340428.2 成员函数的重载、覆盖与隐藏
2013-10-27 20:13:42
837
原创 DP--数字拆分成4段,怎样使得4段的乘积最小。
题目是:给出一个数字(10,000~100,000,000),把这个数字拆分成4段,怎样使得4段的乘积最小。比如12345拆分成1*2*3*45=270, 10000=1*00*0*0=0。 其实这到题从直觉上觉得是一道动态规划,但是深知自己是个DP茫,推了一会没啥思路就放弃了,写了个暴力搜索了事(总不能空着吧)。出了考场给同学打电话,同学大概花了半分钟就想出来了。其实确实是个很
2013-10-27 12:14:00
3110
原创 C内存相关的题目总结
今天突然看到了一些C的内存相关的题目,貌似是曾今的面试题,发现自己确实还真没能完全理解,写在把自己整理好的想法写下来程序一:void getMemory(char *p){ p=( char *)malloc(100);}int main(){ char *str=NULL
2013-10-24 22:23:58
583
转载 赢在起跑线上
赢在起跑线上,微软最有价值专家分享校园招聘心得体会(附送大量资料)。从去年参加校招到现在转眼就1年了,谨以毕业设计中的致谢作为纪念: 也给今年参加校园招聘的学弟学妹们分享一下心得体会和提供一些资料吧。首先是个人技术博客上的东西,这些东西本身就是我在准备找工作时的学习笔记,在找工作时又不断的添加了一些思维巧妙,解法新颖的笔试题和面试题。因此具有较好的针对性。同时这些文章不但
2013-10-22 13:37:28
1540
原创 sizeof的总结,还有对字符数组的理解
文章开头,先看下面的代码,然后给出输出结果:#include #include void func(char * str){ printf("sizeof(str)=%d\n", sizeof(str)); printf("strlen(str)=%d\n", strlen(str));}int main(void){ int
2013-10-14 00:19:19
1050
原创 面试题--C++面试中string类的一种正确写法
先保存,有时间给出自己的实现办法:参考:链接C++ 的一个常见面试题是让你实现一个 String 类,限于时间,不可能要求具备 std::string 的功能,但至少要求能正确管理资源。具体来说:能像 int 类型那样定义变量,并且支持赋值、复制。能用作函数的参数类型及返回类型。能用作标准库容器的元素类型,即 vector/list/deque 的
2013-10-09 16:44:36
921
转载 python network(非常好)
转载原文:关于网络编程以及socket 等一些概念和函数介绍就不再重复了,这里示例性用python 编写客户端和服务器端。一、最简单的客户端流程:1. Create a socket2. Connect to remote server3. Send some data4. Receive a reply Python Cod
2013-10-08 09:13:55
4552
转载 Python 元组+列表+字典+文件
本文转载自点击打开链接 Python的元组、列表、字典数据类型是Python内置的数据结构。这些结构都是经过足够优化后的,所以如果使用好的话,在某些地方将会有很大的益处。1元组 个人认为就像C++的数组,Python中的元组有以下特性任意对象的有序集合,这条没啥说的,数组的同性通过偏移读取一旦生成,不可改变固定长度,支
2013-10-07 20:42:39
821
转载 Linux常用命令100个用法
平时用linux时,我有一个习惯就是把遇到的,比较有用,并且容易忘的命令,放到一个文本文件中,没事的时候可以拿出来看看,这样可以加深映像,时间长了这些命令的用法基本上都能掌握了。以下是100个用法,有什么不对,还请大家指正。1,echo "aa" > test.txt 和 echo "bb" >> test.txt //>将原文件清空,并且内容写入到文件中,>>将内容放到文件的尾部2,
2013-10-07 18:50:58
853
转载 如何优化MySQL insert性能
对于一些数据量较大的系统,面临的问题除了是查询效率低下,还有一个很重要的问题就是插入时间长。我们就有一个业务系统,每天的数据导入需要4-5个钟。这种费时的操作其实是很有风险的,假设程序出了问题,想重跑操作那是一件痛苦的事情。因此,提高大数据量系统的MySQL insert效率是很有必要的。经过对MySQL的测试,发现一些可以提高insert效率的方法,供大家参考参考。1. 一条SQ
2013-10-07 14:45:32
707
原创 C 内存相关,位操作,指针,等
1.C语言实现范型编程void swap(void * p1, void *p2,int size){ char buffer[size];//有些编译器可能要求动态分配,malloc,free memcpy(buffer,p1,size); memcpy(p1,p2,size); memcpy(p2,buffer,size);}2.本文给出了一些字符串及内存操作的函数
2013-10-06 10:43:17
727
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人