阅读笔记
jacob_wjj
领英主页:https://www.linkedin.com/in/jiang-bo-a56771ba/
展开
-
IO多路复用之select、poll以及epoll
进程的阻塞处理运行态的进程(获得CPU资源),由于需要等待一些事件的发送而不能继续执行时,就会祖东的转为阻塞状态,这是,他是不占用CPU资源的。因此也只有处于运行态的进程,才能够转为阻塞状态。这时候调度器会切换到其他进程,一旦这个进程等待的事件发生了,那么就会重新唤醒这个进程,重新等待被调度。一旦被调度器调度,那么就会恢复到切换之前的状态,继续执行,由阻塞状态切换到运行态。文件描述符一个用于对文件引原创 2016-03-17 14:56:06 · 375 阅读 · 0 评论 -
单链表是否有环,环的大小,第一个连接点,有环的单链表长度
给定一个单链表,只给出头指针h: 1、如何判断是否存在环? 2、如何知道环的长度? 3、如何找出环的连接点在哪里? 4、带环链表的长度是多少? 下面是实现,可以相互检查一下是否不正确。/* 2 Here we discuss four question about single list 3 1. isCircle(ListNode* head) 4 2原创 2016-04-24 20:06:19 · 406 阅读 · 0 评论 -
Effictive C++笔记
Effictive C++阅读笔记constConst, 可以在类外部修饰global或者namespace作用域中的常量,或者修饰文件、函数、或者区块作用域(block scope)中被声明为static的对象。也可以就修饰类内部的static以及non-static成员变量。面对指针,可以指出指针本身、指针所指物、或者两者都是const。如果关键字const在号左边,表示被指物是常量(值不可被改原创 2016-03-07 20:08:32 · 699 阅读 · 0 评论 -
深入探索C++对象模型笔记
一开始对C++primer plus都没看完的是我就下载了深入探索C++对象模型,当时看了就觉得绝望,因为实在看不懂,天书。不过经过一段时间的使用,尤其是放在Effictive c++后面再来看,就很有感触了。题主比较健忘,决定把一些关键点记录下来,方便没时间的时候能够快速翻阅。为什么抽象基类必须定义一个纯虚函数的析构函数,pure virtual destructor,class设计者一定得定义原创 2016-03-20 20:17:33 · 501 阅读 · 0 评论 -
判断一个数字是否为回文,不使用额外的存储空间
bool isPalindom(int num){ int n=log10((double)num)+1; cout<<"size: "<<n<<endl; int i=1; int temp=0; while(i<=(n>>1)){ temp =temp*10+num%10; cout << temp<<endl;原创 2016-03-10 20:24:45 · 644 阅读 · 0 评论 -
编程珠玑之左旋转一个字符串
描述将一个n元一维向量向左旋转i个位置。例如,n=8,i=3,向量abcdefgh旋转结果为defghabc. 要求是使用数十个额外字节的存储空间,在正比于n的时间内完成向量的旋转??思路简答的代码就是存储前i个,然后将后面n-i依次向前挪动。这样的使用的i个额外空间就是过大的存储空间的消耗。另外一个方法就是递归调用,每次旋转一个,然后调用i次。还一个方法就是按照第i个划分,分别将两部分翻转,然后再原创 2016-03-21 18:10:45 · 549 阅读 · 0 评论 -
如何确定栈的增长方向地址是递增还是递减
#include<stdio.h> static int stack_dir; static void find_stack_direction (void) { static char *addr = NULL; /* address of first `dummy', once known *原创 2016-03-20 21:43:11 · 3789 阅读 · 0 评论 -
判断一个机器是大端序还是小端序
大小端其实指的就是CPU对数据存放的字节顺序。如果高位放在高地址,低位放在低地址,那么就是小端;反之,高位放在低地址,低位放在高地址,那么就是大端。问题是,如何通过程序判断机器是大端还是小端呢,其实很简单,使用union这个结构类型就可以很容易的解决。static union{ char c[4]; unsigned long endlian;}my_test = {{'l','x原创 2016-03-20 21:34:52 · 682 阅读 · 0 评论 -
冒泡,插入,归并,快排算法C++实现
// sort_alogrithm.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <vector>using namespace std;//冒泡排序void pubbleSort(vector<int>& nums){ int n=nums.size(); for(int i=0原创 2016-03-09 23:19:14 · 477 阅读 · 0 评论 -
实现一个strcpy函数
char* strcpy(char* dest,const char* src){ assert(dest!=NULL&&src!=NULL); char* ret=dest; while((*dest++ = *src++) !='\0'); return ret;}原创 2016-03-08 14:45:26 · 289 阅读 · 0 评论 -
DRM security
http://www.x.org/wiki/Events/XDC2013/XDC2013DavidHerrmannDRMSecurity/DRM_SECURITY原创 2016-03-17 21:11:31 · 602 阅读 · 0 评论 -
Redis 延迟产生的主要原因分析
题主写这篇文件主要是想让自己能够在遇到Redis延迟问题时能够有效的查找原因。这里所提到的延迟指的是客户端发送一个命令,到收到该命令回复的最大延迟时间。一般来说,Redis处理的时间是非常的低的,都是微秒级别,但是也存在一些情况会导致很高的延迟。低延迟使用Redis的几点Tips下面的内容对于低延迟使用Redis是非常重要的。不过先给出几点手段,使得能够获取最大低延迟效益。 1. 确保你不使用会造翻译 2016-05-23 18:06:18 · 2400 阅读 · 0 评论