上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 58 下一页
  2012年12月21日
摘要: Hadoop是什么:Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。 Hadoop是什么:Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。Hadoop框架中最核心设计就是:HDFS和MapReduce。HDFS提供了海量数据的存储,MapReduce提供了对数据的计算。数据在Hadoop中处理的流程可以简单的按照下图来理解:数据通过Haddop的集群处理后得到结果。HDFS 阅读全文
posted @ 2012-12-21 13:44 猿人谷 阅读(346) 评论(0) 推荐(0)
摘要: 分析realloc invalid pointer、指针无效等错误!realloc函数用来为ptr重新分配大小为size的一块内存,看似很简单,在使用过程中却会发生各种错误。函数形式为:void * realloc ( void * ptr, size_t new_size );最近在网上查看了一些资料,在glibc中没有找到具体的实现(有人找到了可以发给我,ladd.cn@gmail.com),查到了一个开源项目自己写的realloc代码,http://code.google.com/p/mallocspethmeniel/source/browse/trunk/realloc.c?r=23 阅读全文
posted @ 2012-12-21 13:39 猿人谷 阅读(2493) 评论(0) 推荐(0)
摘要: realloc invalid pointer错误char* temp=(char*) realloc(src,sizeof(char)*100);如上面这行代码,可能会出现标题中的错误。错误原因是因为src指向的不是NULL或堆中的地址。具体的就是realloc函数要求src为下面两种情况1.src==NULL2.src指针必须是malloc(), calloc(), 或realloc()分配的造成错误的代码造成错误的代码一般是如下形式是char* src="Hello world!";//错误代码或者char src[100];//错误代码上面这两种方式分配内存位于栈区 阅读全文
posted @ 2012-12-21 13:36 猿人谷 阅读(468) 评论(0) 推荐(0)
摘要: 1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1: 可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。s 遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中。这样每个小文件的大约为300M。s 遍历文件b,采取和a相同的方式将url分别存储到1000各小文件(记为)。这样处理后,所有可能相同的url都在对应的小文件()中,不对应的小文件不可能有相同的url。然后我们只要求出1000对 阅读全文
posted @ 2012-12-21 09:09 猿人谷 阅读(287) 评论(0) 推荐(0)
摘要: 一、Linux服务器上11种网络连接状态: 图:TCP的状态机通常情况下,一个正常的TCP连接,都会有三个阶段:1、TCP三次握手; 2、数据传送; 3、TCP四次挥手注:以下说明最好能结合”图:TCP的状态机”来理解。SYN: (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效。表示一个新的TCP连接请求。ACK: (确认编号,Acknowledgement Number)是对TCP请求的确认标志,同时提示对端系统已经成功接收所有数据。FIN: (结束标志,FINish)用来结束一个TCP回话.但对应端口仍处于开放状态,准备接.. 阅读全文
posted @ 2012-12-21 09:07 猿人谷 阅读(1089) 评论(0) 推荐(0)
摘要: assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include <assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:#include <stdio.h>#include <assert.h>#include <stdlib.h>int main( v 阅读全文
posted @ 2012-12-21 09:06 猿人谷 阅读(278) 评论(0) 推荐(0)
  2012年12月18日
摘要: 解释器是比较深入的内容。虽然我试图从最基本的原理讲起,尽量让这篇文章不依赖于其它的知识,但是这篇教程并不是针对函数式编程的入门,所以我假设你已经学会了最基本的 Scheme 和函数式编程。如果你完全不了解这些,可以读一下 SICP的第一,二章。当然你也可以继续读这篇文章,有不懂的地方再去查资料。我在这里也会讲递归和模式匹配的原理。如果你已经了解这些东西,这里的内容也许可以加深你的理解。解释器其实不是很难的东西,可是好多人都不会写,因为在他们心目中解释器就像一个 Python 解释器那样复杂。如果你想开头就写一个Python解释器,那你多半永远也写不出来。你必须从最简单的语言开始,逐步增加语言的 阅读全文
posted @ 2012-12-18 14:02 猿人谷 阅读(524) 评论(0) 推荐(0)
摘要: 使用过新浪博客的人都知道,新浪博客的首页有访问量统计功能,迁移到博客园之后发现博客 园却没有这项功能,所幸博客园在后台管理的设置选项中有一个公告栏和设置页首页脚代码功能,使用起来非常灵活和方便。借此我们可以通过网络上提过的其他强 大的插件来为获取更加详细的访问统计信息(博客园这难道是借鉴了传统unix中“一个软件工具只做好一件事”的设计原则吗~~^_^),本教程所使用的方 法对于其他提供类似公告栏机制的任何网络页面都适用,而不仅仅限于博客园,以下为详细步骤:1. 如果你想在博客园的首页显示你的访问数据,可以采用以下方法: 1)flagcounter.com:进入这个网站,然后根据首页的自定义. 阅读全文
posted @ 2012-12-18 13:37 猿人谷 阅读(2004) 评论(0) 推荐(0)
  2012年12月17日
摘要: 开篇在实际的过程中,总需要对一些数据进行排序,在众多的排序算法中,快速排序是较为常用的排序算法之一。而网上对于快速排序的中文资料还不是很全。写 这篇博文主要记录一些自己对于快速排序的了解,以及对快速排序的性能的分析。我将在这里记录下我对快速排序的认识和学习过程 ,用尽可能简单明了的叙述来阐述我的理解。快速排序基于算法中很重要的思想是 分治。所以会先介绍一下分治思想,然后对算法原理进行介绍,接着会分析算法的性能并对算法作进一步的讨论。注:为了便于说明问题,本博文中会用到部分《introduction to algorithm》中的图片。关键词:快速排序、分治、递归“大事化小”——从分治说起分治? 阅读全文
posted @ 2012-12-17 13:56 猿人谷 阅读(347) 评论(1) 推荐(0)
摘要: 开篇上一篇博文对缓存的思考——提高命中率详细介绍了高速缓存的组织结构,并通过实例说详细明了cpu从高速缓存中取数据的过程,对于缓存的工作机制应该有了清晰的认识。这篇博文就来简单讨论以下对于缓存在实际开发中的应用,这里将告诉你如何让你的程序充分利用该缓存,即如何编写高速缓存友好的代码。提示:如果高速缓存的运行机制还没有清晰的认识,请参照前面文章。注1:关于文中提到的局部性的相关知识参照:局部性原理浅析——良好代码的基本素质注2:这是一个系列的文章,收录在程序性能优化注3:文章知识有些地方不容易理解,所以用心才能看完噢。“用空间换时间”在搞算法的时候经常能听到这种说法,算法研究中通常要考虑算法的时 阅读全文
posted @ 2012-12-17 13:50 猿人谷 阅读(446) 评论(0) 推荐(0)
上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 58 下一页