自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

转载 深入理解Redis主键失效原理及实现机制

转载地址:http://blog.jobbole.com/71095/对于缓存失效,不同的缓存有不同的处理机制,可以说是大同中有小异,作者通过对Redis 文档与相关源码的仔细研读,为大家详细剖析了 Redis 的缓存过期/失效机制相关的技术原理与实现细节。下面是作者原文:作为一种定期清理无效数据的重要机制,主键失效存在于大多数缓存系统中,Redis 也不例外。在 Redis

2015-06-04 09:20:52 899

原创 linux命令学习(每天都会更新)

1、crontab命令基本格式 : *  *  *  *  *  command 分 时   日   月  周     命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令 crontab文件的一些例子

2015-06-03 10:11:09 508

原创 PHP垃圾回收机制之性能方面的考虑

性能方面考虑的因素 ¶在上一节我们已经简单的提到:回收可能根有细微的性能上影响,但这是把PHP 5.2与PHP 5.3比较时才有的。尽管在PHP 5.2中,记录可能根相对于完全不记录可能根要慢些,而PHP 5.3中对 PHP run-time 的其他修改减少了这个性能损失。这里主要有两个领域对性能有影响。第一个是内存占用空间的节省,另一个是垃圾回收机制执行内存清理时的执行时间增加(run-

2015-10-26 17:22:08 535

原创 PHP垃圾回收机制之回收周期

回收周期(Collecting Cycles) ¶传统上,像以前的 php 用到的引用计数内存机制,无法处理循环的引用内存泄漏。然而 5.3.0 PHP 使用文章» 引用计数系统中的同步周期回收(Concurrent Cycle Collection in Reference Counted Systems)中的同步算法,来处理这个内存泄漏问题。对算法的完全说明有点超出这部分内容的范围

2015-10-26 16:06:50 1161

原创 PHP垃圾回收机制之引用计数

引用计数基本知识 ¶每个php变量存在一个叫"zval"的变量容器中。一个zval变量容器,除了包含变量的类型和值,还包括两个字节的额外信息。第一个是"is_ref",是个bool值,用来标识这个变量是否是属于引用集合(reference set)。通过这个字节,php引擎才能把普通变量和引用变量区分开来,由于php允许用户通过使用&来使用自定义引用,zval变量容器中还有一个内部引用计数机制

2015-10-26 15:05:47 465

原创 PHP socket类

没事的时候自己封装了一个socket类功能很简单和curl功能是一样的class socketClass{ private $host; private $url; private $error_no = 0; public $error_str = ''; private $port = 80; private $timeout = 5;

2015-06-08 14:48:23 1046 2

原创 PHP做APP接口时,如何保证接口的安全性

PHP做APP接口时,如何保证接口的安全性?1、当用户登录APP时,使用https协议调用后台相关接口,服务器端根据用户名和密码时生成一个access_key,并将access_key保存在session中,将生成的access_key和session_id返回给APP端。2、APP端将接收到的access_key和session_id保存起来3、当APP端调用接口传输数据时,将所传数

2015-06-05 15:51:05 13128

转载 MYSQL性能优化

转载地址:http://blog.csdn.net/iquicksandi/article/details/7970706网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一段时间后运行,根据服务器的”状态”进行优化。  mysql> sh

2015-06-04 14:18:42 478

原创 PHP中include和require的区别

1、include用到时加载2、require程序一开始就会加载3、include_once和require_once保证同一个文件只会被引入一次4、include在引入文件时发生错误,则会继续执行5、require在引入文件时发生错误,则会结束运行6、include是有条件加载,require是无条件加载

2015-06-01 16:42:37 400

原创 PHP求给定数组的组合

1、求给定数组的组合如array('a', 'b', 'c')结果为abca ba cb cfunction combination($arr){ if(empty($arr)){ return false; } $count = count($arr); for($i=1; $i<$count; $i++){

2015-06-01 16:00:25 1404

原创 进程与线程之间的关系

看到一种说法是“一个程序至少有一个进程,一个进程至少有一个线程”,这种把程序与进程,进程与线程的关系混淆的说法是错误的。程序(program)只能有一个进程,一个进程就是一个程序。有人说,我打开一个程序,比如chrome,有十多个进程呢,这是咋回事。那就是十多个程序,操作系统给他们分配了彼此独立的内存,相互执行不受彼此约束,分配同样时间的CPU。对于用户而言,他们是一个整体,我们通常称之为

2015-05-29 15:11:13 781

转载 PHP静态成员变量和非静态成员变量

PHP静态成员变量和非静态成员变量突然在网上找到了一遍对PHP静态变量和非静态变量讲解比较深入的一遍文章,特转来分享下。转载地址:http://blog.chinaunix.net/uid-20722281-id-160034.html数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成

2015-05-28 16:18:29 651

原创 memcached缓存的执行过程

memcached缓存为什么可以支持高并发读写?1、多路复用I/O模型      传统I/O中,系统可能会因为某个用户的I/O连接没有做好准备而一直等待,直到这个连接做好准备,这个当有其他用户连接服务器时,由于系统的阻塞而得不到响应。      多路复用I/O模型是一种消息通知模式,用户做好I/O连接准备后,系统会通知我们这个连接已经做好I/O准备,这样就不会阻塞某个用户的连接,正因为

2015-05-28 13:58:15 427

原创 PHP 类的静态成员变量和普通成员变量对比

有很多人可能弄不清楚,在PHP中类的静态成员变量和普通成员变量有什么区别?1、类的静态方法只能访问静态成员变量,而不能访问非静态成员变量2、静态成员变量不需要实例化就能访问,且访问速度快一些3、类的静态成员变量只属于这个类,但类的所有实例共享这个静态成员变量一个由 c/c++编译过的程序占用的内存分为一下几个部分(1)、栈区 stack :             

2015-05-28 11:04:24 6164 1

原创 C语言 最大堆排序

#includeusing namespace std;int left(int i){ return 2*i;}int right(int i){ return 2*i+1;}int parent(int i){ return i/2;}void maxHeapify(int *arr, int length, int i){ if(arr == 0 || i < 0)

2015-05-21 21:17:05 844 1

原创 C语言 判断给定数组是否为二叉查找树后序遍历结果

题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:         8       /  \      6    10    / \    / \   5   7   9  11因此返回true#includeusing na

2015-05-20 13:59:33 604

原创 C语言 二叉查找树镜像

题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。例如输入:     8    /  \  6      10 /\       /\5  7    9   11输出:      8    /  \  10    6 /\      /\11  9  7  

2015-05-20 11:11:16 542

原创 约瑟夫环的两种解法

题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。#include#include;using namespace std;int lastRemaining(int num, int m){

2015-05-20 10:22:03 820

原创 栈的push、pop序列[数据结构]

题目:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个pop系列。因为可以有如下的push和pop序列:push 1,push 2,push 3,push 4,pop,push 5,pop,pop,

2015-05-19 16:09:59 2316

原创 C语言 数组中只出现一次的值

题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。#includeusing namespace std;int findFirstBit1(int num){ int indexBit1 = 0; while((num & 1) == 0 && indexBit1 < 32){ nu

2015-05-19 10:56:10 620

原创 C语言 求旋转数组的最小元素

#includeusing namespace std;int getMin(int *arr, int length){ if(arr == 0 || length <= 0){ throw new exception("Invalid parameters"); } int begin = 0; int end = length - 1; int middle; whil

2015-05-19 10:20:27 373

原创 C语言 求二叉搜索树镜像的两种方法

typedef struct node{ int data; struct node *pLeft; struct node *pRight;}Node;//递归求解 void MirrorRecursive(Node *pRoot){ if(pRoot != NULL){ Node *temp = pRoot->pLeft; pRoot->pLeft = pRoot->p

2015-05-15 09:51:11 736

原创 PHP算法之最大连续子数组

/** * @author beggar [email protected] * @param type $arr * @param type $begin * @param type $end * @return type */function MaxSubArray($arr, $begin, $end){ if(empty($arr)){ return a

2015-05-14 21:51:14 814

原创 PHP排序之归并排序

/** * @author beggar [email protected] * @param type $arr * @param type $begin * @param type $end */function mergeSort(&$arr, $begin, $end){ if(!empty($arr) && $begin < $end){ $middle

2015-05-14 21:12:47 340

原创 PHP算法之插入排序

/** * @author beggar [email protected] * @param type $arr * @return boolean */function insertSort($arr){ if(empty($arr)){ return false; } $count = count($arr); for($i=1; $i

2015-05-14 20:45:07 360

原创 PHP 左旋字符串的两种方法

/** * @author beggar [email protected] * @param type $string * @param type $m * @return boolean */function reverseStr(&$string, $m){ if(empty($string)){ return false; } $len =

2015-05-14 16:07:20 450

原创 C语言全排列

#include#include#include#include#define MAX_VALUE 30int next[] = { 1, 2, 3, 4 };void segnum(int sum, int * pData, int pDepth){ if(sum < 0){ return; } if(sum == 0){ for(int j=0; j<pDepth

2015-05-13 09:01:35 701

原创 PHP 对象转换为对应的数组

<?php/** * 将对象转换为相应的数组 * @author beggar [email protected] * @param type $obj * @return boolean */function Obj2Array($obj){ if(!is_object($obj)){ return false; } if(count($obj

2015-05-08 16:26:39 398

原创 PHP实现 拉链式哈希表

<?php/** * 使用PHP语言实现数据的 拉链式哈希 存储 * @author beggar [email protected] * @date 2015-05-08 */class hashTable{ private $size; private $bucket; private $count = 0; public function __con

2015-05-08 15:50:09 605

原创 C语言 二分法查找之面试题

#include#include#include//二分法 递归 int binarysearch(int *arr, int begin, int end, int val){ if(begin end){ return -1; } int middle = (begin + end)/2; if(arr[middle] == val){ return 1; }el

2015-05-08 15:24:15 1023

原创 C语言 二叉树按层打印、深度优先遍历、二叉树是否对称

#include#include#include//二叉树节点 typedef struct tree{ int data; struct tree *pLeft; struct tree *pRight;}Tree;//队列typedef struct queue{ struct node *pFront; struct node *pBehind; int size;

2015-05-08 15:17:46 1716

原创 C语言 开放寻址法HASH表存储简单实现

#include#include#include#include#include#include#define MAX_VALUE 5typedef struct hashNode{ char *key; char *value; int flag;}Hash;typedef struct table{ Hash *hashTable[MAX_VALUE]; int

2015-05-08 15:06:51 991

原创 C语言 拉链法HASH表存储

C语言实现Hashtable存储

2015-05-08 12:31:25 1169

原创 socket和http的主要区别

什么是socket?       Socket通常称为‘套接字’,用于描述IP地址和端口,是一个通信链的句柄。应用程序可以通过套接字向网络发送请求也可以响应网络请求,Socket即不是一个程序,也不是一种协议,而是操作系统提供的一种通信层的抽象API。什么是http协议?       Http协议即超文本传输协议,是建立在TCP协议之上的一种应用,主要模型就是客户端向服务器发送请求,并

2014-11-25 23:59:08 511

空空如也

空空如也

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

TA关注的人

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