- 博客(48)
- 资源 (11)
- 收藏
- 关注
转载 Redis快速入门
Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。Redis从它的许多竞争继承来的三个主要特点:Redis数据库完全在内存中,使用磁盘仅用于持久性。相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。Redis可以将数据复制到任意数量的从服务器。Redis 优势异常快速:Redis
2015-11-01 15:27:00
490
转载 一致性hash算法 - consistent hashing
一致性hash算法 - consistent hashing分类: 算法艺术2010-02-02 09:19 44257人阅读 评论(76) 收藏 举报算法cacheobject服务器存储c目录(?)[+]一致性 hash 算法( consistent hashing )张亮consistent hashing 算法早在 1997 年就在论文 Con
2015-10-09 09:43:20
455
转载 百度2015校园招聘软件开发笔试题
首先2015百度校园招聘笔试题目(软开类)奉上:答案分析(个人所理解的,如有不妥地方还望各位看官指出)一、tcp-ip 连接时3次握手,断开时4次握手。连接过程:第一次握手:客户端发送一个TCP的SYN标志位置1的包指明客户打算连接的服务器的端口,以及初始序号X,保存在包头的序列号(Sequence Number)字段里。
2015-09-11 17:07:00
666
转载 STL List容器详解
List 容器list是C++标准模版库(STL,Standard Template Library)中的部分内容。实际上,list容器就是一个双向链表,可以高效地进行插入删除元素。使用list容器之前必须加上头文件:#include;list属于std命名域的内容,因此需要通过命名限定:using std::list;也可以直接使用全局的命名空间方式:using name
2015-09-11 16:43:46
396
原创 共用体中涉及的大端和小端存储模式
首先我们先理解一下什么是大端、小端模式,下面这边文章讲的很清楚,参考链接:http://blog.youkuaiyun.com/favory/article/details/4441361端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为
2015-09-09 15:28:59
1416
转载 iOS测试-XCTest
虽然WWDC 2014 上iOS 8 和Swift的发布引起了开发者的极大关注,但Xcode 6 在测试功能方面的提升和改进或许将产生长期的深远影响。 本周,我们将关注 XCTest,这是内嵌到Xcode的测试框架,同时Xcode 6也添加了新特性:XCTestExpectation 和性能测试同样让人兴奋。 大部分Xcode 项目模板现在支持拆箱测试。例如,当一个
2015-09-08 15:49:58
684
原创 iOS测试-GHUnit配置
前一段时间一直在看iOS测试相关的知识以及测试框架、测试工具的使用,现在拿来总结以下。GHUnit 是iOS单元测试的一个开源框架,它与XCode集成的OCUnit测试框架有着很大的不同。OCUnit测试框架是集成在你的项目目录中的,而GHUnit测试框架是单独存在的一个target,可以独立运行,并且有UI界面;另外GHUnit是开源的,也意味着你可以根据测试计划自定义框架功能,提高你的测试
2015-09-08 15:26:42
610
原创 多道程序关于CPU利用率的面试题
最近看到一道笔试题,让我感到很困惑:假定我们有3个程序,每个程序花费80%的时间进行I/O,20%的时间使用CPU。每个程序启动时间和其需要使用进行计算的分钟数如下,不考虑进程切换时间:程序编号 启动时间 需要CPU时间(分钟) 1 00:00 3.5 2 00:10 2 3
2015-09-06 11:51:26
5967
1
转载 关于fork()输出的面试题
前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的:题目:请问下面的程序一共输出多少个“-”?1234567891011121314151617#include #
2015-09-06 10:18:47
1792
1
原创 static修饰的变量和函数与普通变量函数的区别
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能
2015-09-05 15:02:07
2128
转载 堆和栈的区别(经典)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两
2015-09-05 11:31:05
345
转载 C++面试宝典2011版
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之
2015-09-05 11:03:57
527
原创 继承关系中的虚函数表
首先我们从一道笔试题开始:class ClassA{public: virtual ~ ClassA(){}; virtual void FunctionA(){};};class ClassB{public: virtual void FunctionB(){};};class ClassC : public ClassA,public ClassB{
2015-09-04 16:59:53
930
转载 C++中的虚函数详解
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过
2015-09-04 16:56:13
468
转载 什么函数不能声明或定义为虚函数
一、首先回顾下什么是虚函数及其作用,以便更好理解什么函数不能声明或定义为虚函数:1. 定义:虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public,在基类的类定义中定义虚函数的一般形式: virtual 函数返回值类型 虚函数名(形参表) { 函数体 }2. 作用:虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合
2015-09-04 14:59:12
1702
转载 c语言sizeof求结构体的大小
运算符sizeof可以计算出给定类型的大小,对于32位系统来说,sizeof(char) = 1; sizeof(int) = 4。基本数据类型的大小很好计算,我们来看一下如何计算构造数据类型的大小。C语言中的构造数据类型有三种:数组、结构体和共用体。数组是相同类型的元素的集合,只要会计算单个元素的大小,整个数组所占空间等于基础元素大小乘上元素的个数。结构体中的成员可以是不同的数据类型
2015-09-01 19:39:03
6555
1
转载 如何使用UIAutomation进行iOS 自动化测试(Part II)
3. 经验分享(让你生活变得更简单)类库Tune-up介绍现在你应该基本上知道如何编写测试代码了。但你慢慢地会发现,你会经常写到一些重复的,冗余的,黏糊糊的代码,像下面一样:123var target = UIATarget.localTarget();var app = target.frontM
2015-08-31 20:21:02
527
转载 如何使用UIAutomation进行iOS 自动化测试(Part I)
写在前面研究iOS的自动化测试也有些日子了,刚开始的时候,一直苦于找不到什么好的资料,只能从Apple的官网查阅相关的API文档,只可惜,Apple对开发者来说实在是不怎么友好,文档写得相当的粗略,对于初学者来说有一定的难度。本来是打算自己动手写一篇关于iOS的UI自动化测试的入门级别的介绍性文档的,但想起来后面在具体解决一些问题的时候,收藏一篇很好的Blog,很全面地介绍了如何使
2015-08-31 20:07:33
517
原创 C++中的常量折叠问题
最近做了一道笔试题才发现了这个问题题目: const int a = 10;// 这这里声明的变量a 就会产生常量重叠。 int *p = (int *)&a; *p = 20; cout << "a= " << a << endl << "p= " << *p; return 0;那么大家想想正确的输出结果是什么?a= 10*p = 20为什么两个指向同一个地址
2015-08-31 15:11:55
1144
转载 C++ 单例模式详解
单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。 单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做
2015-08-29 16:21:05
412
转载 void * 指针介绍
void类型及void指针1.概述 许多初学者对C/C 语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并 详述void及void指针类型的使用方法与技巧。 2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几
2015-08-29 10:27:55
373
原创 模拟洗牌程序
题目:给定一副扑克牌和一个随机函数,请模拟洗牌函数解析:洗牌的过程本质上就是一个随机过程,将扑克牌中的每一个牌随机的与另一个不同的牌进行交换。这里很显然要用到随机函数,详细随机函数介绍请点击:http://blog.youkuaiyun.com/peixuan197/article/details/48084843。那么首先我们将一副扑克牌表示成整数数组:int shuffleCards[],其中最重
2015-08-29 10:24:31
896
转载 memcpy 函数详解
原型:extern void *memcpy(void *dest, void *src, unsigned int count);用法:#include 功能:由src所指内存区域复制count个字节到dest所指内存区域。说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。举例: // memcpy.
2015-08-29 09:41:04
9171
转载 C++中随机函数rand()和srand()的用法
一、rand() 函数名: rand 功 能: 随机数发生器 用 法: int rand(void); 所在头文件: stdlib.h 函数说明 : rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定 的范围里可看成
2015-08-29 09:38:08
38562
2
转载 C++ 中BSS、数据段、代码段、堆、栈的区别
BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。特点是:可读写的,在程序执行之前BSS段会自动清0。所以,未初始的全局变量在程序执行之前已经成0了。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。代码段:代码段(code segment
2015-08-22 21:03:19
2426
1
转载 IOS内存管理--自动释放池的实现原理
原文链接:http://www.cocoachina.com/ios/20150610/12093.html内存管理一直是学习 Objective-C 的重点和难点之一,尽管现在已经是 ARC 时代了,但是了解 Objective-C 的内存管理机制仍然是十分必要的。其中,弄清楚 autorelease 的原理更是重中之重,只有理解了 autorelease 的原理,我们才算是真正了解了
2015-08-06 15:51:03
10016
原创 IOS内存管理--手动引用计数实现
我的上一篇博客从手动引用计数、ARC两个方面介绍了IOS的内存管理机制,接下来简单介绍手动引用计数管理方式的部分实现,源码参照的是objc4-646,下载链接:http://opensource.apple.com/source/objc4/。在手动引用计数管理方式中,最重要的是如何管理对象的引用计数,那么我们就从引用计数及其管理方式的实现入手。首先我们建立一个简单的命令行程序,在Build
2015-08-05 21:53:01
1842
原创 IOS开发-内存管理
如果应用程序没有内存管理机制,那么在运行过程中会占用更多的内存而且不能释放,那么内存总有用完的时刻,而导致程序崩溃。内存泄露由此得来,即程序未能释放不再使用的内存,而导致内存不足。每种开发语言都有各异的内存管理机制,C语言中通过malloc()和free(),new和delete来进行动态的内存管理,以防止内存泄露,提高程序的执行效率。JAVA语言中有专门的垃圾回收机制,回收系统中不在使用的内
2015-08-05 11:02:12
430
原创 IOS开发日志-网络安全
最近看到一则新闻(详细链接:http://www.2cto.com/News/201504/395190.html):IOS开发网络库AFNetworking被曝出有漏洞,可以进行中间人攻击,一时间APP Store数万应用被曝出都有一定程度的安全风险。事情的缘由是这样的:AFNetworking 是一款很火的IOS开源网络库,但是在其上一个版本(2.5.2)中在进行Https连接中并没有验证服务
2015-07-17 19:10:22
505
转载 IOS各种调试技巧豪华套餐
IOS各种调试技巧豪华套餐 目录 前言逼优鸡知己知彼 百战不殆抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints)打印的艺术 NSLog 开启僵尸对象(Enable NSZombie Objects)进击的码农 Co
2015-07-10 15:46:42
623
原创 IOS 多线程-GCD学习总结
最近看了很多关于IOS多线程编程的知识,现总结如下,大家互相学习,如有错误,还请各位指点。什么是GCD?Grand Central Dispatch(GCD)是异步执行任务的技术,苹果公司将线程管理的任务在系统级别实现,对程序员是透明的,程序员只需要将任务提交给Dispatch Queue,GCD就可以给任务分配空闲的线程,从而执行任务。多线程编程的好处这里就不多说了,在手机设备这类硬
2015-07-09 21:16:00
436
原创 Xcode unable to dequeue a cell with identifier
最近在学习IOS,UITableView 的时候,在实现一个简单的tableView的时候,总是出现如下的问题:“Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'unable to dequeue a cell with identifier provinceCel
2015-07-08 10:49:32
634
转载 iOS项目开发—TTS技术的实现即语音播报(实现方法一)
一、简单说明 (1)在iOS7之前,想要实现语音播报文字内容,可能需要第三方资源库来实现。现在在iOS7上,系统为我们提供了语音播报文字的功能,我们不仅可以播报英语内容,也可以播报汉语文字实现TTS主要依赖AVSpeechSynthesizer,AVSpeechUtterance,AVSpeechSynthesisVoice,要使用这些类必须先加入AVFound
2015-07-03 09:27:57
1088
原创 Linux 环境下eclipse启动出现错误:jvm terminated. exit code=13
想在Linux下启动eclipse出现如题的错误,在网上找了很多资料,有很多是误导。在stackoverflow上找到了正确解决方法,英文连接:http://stackoverflow.com/questions/4945178/cannot-run-eclipse-jvm-terminated-exit-code-13?s=2|11.1378现整理如下,希望对大家有所帮助:问题出现在ec
2015-05-11 21:38:54
6496
转载 流式分布式系统Storm安装与部署-单机版
主要参考的网站资源:http://my.oschina.net/leejun2005/blog/147607(一篇对照一个例子讲storm原理和应用的不错文章)http://www.cnblogs.com/XjChenny/p/3214039.html(非常完整的storm安装教程,我主要是参照这篇文章安装的,缺点是文中几乎没有提到遇到的问题,需要自己去查找解决问题的办法)http:/
2015-05-05 17:12:37
1986
转载 四大因素决定 浅析iOS为什么比安卓流畅
当别人问苹果手机问什么比Android手机运行流畅,自己也回答不出来个所以然,所以就搜集了这个文章,分析的还是很专业的,特来和大家分享。同时也对文章中的不足做了补充。优先级别不同:iOS最先响应屏幕 不少人都反应苹果iPhone要 比一般Android手机流畅,这是一个现象要说是大问题谈不上,毕竟两者是完全两个不同的系统所以严格来说放在一起对比是不公平的。不过因为 Android
2015-04-20 15:56:06
1249
转载 常见排序算法总结
排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。 我不喜欢死记硬背,我更偏向于弄清来龙去脉,理解性地记忆。比如下面这张图,我们将围绕这张图来思考几个问题。 上面的这张图来自一个PPT。它概括了数据结构中的所有常见
2015-04-20 14:39:23
578
转载 Objective-C之内存管理
概述我们知道在程序运行过程中要创建大量的对象,和其他高级语言类似,在ObjC中对象时存储在堆中的,系统并不会自动释放堆中的内存(注意基本类型是由系统自己管理的,放在栈上)。如果一个对象创建并使用后没有得到及时释放那么就会占用大量内存。其他高级语言如C#、Java都是通过垃圾回收来(GC)解决这个问题的,但在OjbC中并没有类似的垃圾回收机制,因此它的内存管理就需要由开发人员手动维护。今天将
2015-04-19 10:42:14
435
转载 FMDB 简介
前言http://blog.devtang.com/blog/2012/04/22/use-fmdb/SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库。iOS SDK很早就支持了SQLite,在使用时,只需要加入 libsqlite3.dylib 依赖以及引入 sqlite3.h 头文件即可。但是,原生的SQLi
2015-04-18 21:03:10
410
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人