Hadoop develop

博学笃志,切问近思,此八字,是收放心的工夫。 神闲气静,智深勇沉,此八字,是干大事的本领。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  C/C++

摘要:K-Means算法是聚类算法中,应用最为广泛的一种。本文基于欧几里得距离公式:d = sqrt((x1-x2)^+(y1-y2)^)计算二维向量间的距离,作为聚类划分的依据,输入数据为二维数据两列数据,输出结果为聚类中心和元素划分结果 阅读全文
posted @ 2013-12-19 11:20 张子良 阅读(6393) 评论(0) 推荐(3) 编辑

摘要:了解Linux环境下,进程的地址空间划分,对于我们理解Linux应用程序有很大的帮助,否则会被New与Malloc之类的指针操作弄的晕头转向,本文基于Linux内核讲述了Linux/Unix线性地址空间的划分,为你答疑解惑。全局变量在哪里?静态变量在哪里?局部变量在哪里?你清楚吗? 阅读全文
posted @ 2013-10-12 07:11 张子良 阅读(693) 评论(0) 推荐(0) 编辑

摘要:前言: 参加Unix/Linux相关高级研发职位时,是否经常会被文档,单机允许最大进程数、线程数和Socket连接数,而你却感到束手无措呢?本文给你一个最为详细的答案。一、最大进程数 运行Linux ulimit -a指令,我们可以看到:max user processes =1024 运行结构如下图所示:[root@localhost ~]# ulimitunlimited[root@localhost ~]# ulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlim... 阅读全文
posted @ 2013-09-24 10:39 张子良 阅读(1259) 评论(0) 推荐(0) 编辑

摘要:一、问题描述 因为之前(2012)对HDFS客户端Thrift接口的库文件封装使用的是VS2010,最近考虑做一个完整的网盘系统的客户端,就把该库文件使用起来,比较悲剧的是之前做过操作系统的还原。我的VS2010已经没有了,过程中为了与客户的Project版本保持一致,我的MSProject也做了部分升级,word\Excel仍然是Office2007,而MSproject版本为offcie2010。重装VS2010的时候,悲剧发生了,每次安装到中间,总是报错误信息,继而安装失败,错误信息描述如下:error 25541 failed to open xml file c:\windows\. 阅读全文
posted @ 2013-09-05 11:25 张子良 阅读(1089) 评论(0) 推荐(0) 编辑

摘要:fork()函数执行一次,返回两次,你知道原因吗?子进程中返回0;父进程中返回子进程ID(>0);调用一次返回两次;复制父进程地址空间内容(非地址)给子进程;子进程拥有独立的地址空间;无法确定执行顺序; 阅读全文
posted @ 2013-09-03 14:45 张子良 阅读(825) 评论(0) 推荐(3) 编辑

摘要:引文: 个人名言:“同一条河里淹死两次的人,是傻子,淹死三次及三次以上的人是超人”。经历过上次悲催的面试,决定沉下心来,好好的补充一下基础知识点。本文是这一系列第一篇:进程间通讯之mmap。一、概念:什么是mmap? 通过共享存储实现进程间通讯是一个主要的进程间通讯的方式。它包括磁盘文件的共享和内存的共享,以前总是关注内存的共享,而忽略了磁盘文件的共享,也就是这里要讲的mmap。mmap地址映射是Linux系统提供的一种功能强大的系统调用,最典型的应用是用于显卡内存的映射。同样,对于普通的硬盘文件也可以进行mmap系统调用。mmap()系统调用使得进程之间通过映射同一个普通文件实现共享内存.. 阅读全文
posted @ 2013-08-23 10:09 张子良 阅读(981) 评论(0) 推荐(0) 编辑

摘要:引文:线程模型(Threading Model)默认从进程域 (M:N 模型 ) 改为系统全局域 (1:1 模型 )在 AIX 5L 中,pthread 线程的默认模型是 m:n 方式,而从 AIX 6.1 开始,默认改为了 1:1 方式。这两种方式在系统中通过 AIXTHREAD_SCOPE 环境变量来进行控制。如果设置 AIXTHREAD_SCOPE=P,则线程模型为进程域(M:N 模型),设置 AIXTHREAD_SCOPE=S 则为系统域(1:1 模型)。1:1 模型下,每个用户空间的线程都对应于内核中的一个线程,线程的调度由内核在系统全局范围进行;而 M:N 模型下,多个用户线程对应 阅读全文
posted @ 2013-08-15 16:37 张子良 阅读(525) 评论(0) 推荐(0) 编辑

摘要:引子:线程死锁曾是多少程序员的噩梦,每每为此食不甘味,夜不成寐,一句话:苦不堪言。本文从几个场景入手,试图解开产生死锁的原因之谜。教科书:说的很具体,理解很抽象 关于死锁产生的原因《操作系统》中有比较好的说明: (1)因为系统资源不足。 (2)进程运行推进的顺序不合适。 (3)资源分配不当等。 关于死锁出现的必要条件也有比较具体的说明: (1)互斥条件:一个资源每次只能被一个进程使用。 (2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 (3)不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。 (4)循环等待条件:若干进程之间形成一种头尾相接... 阅读全文
posted @ 2013-08-09 10:49 张子良 阅读(1096) 评论(0) 推荐(1) 编辑

摘要:引文:学而时习之,不亦说乎。总是忙于具体项目,业务功能的实现;关于编程本身的技能都要有些生疏了,于是就选择了几个专题做了一次温习,重点放在了多线程和多进程上,跑了一个实例,居然有新的发现:(1)多个线程顺序创建的顺序=线程执行顺序吗?(2)多个线程顺序创建,回调函数执行顺序有规律吗?示例:#include "apue.h"#include void *thr_fn1(void *arg){ printf("thread 1 returning\n"); return((void *)1);}void *thr_fn2(void *arg){ printf 阅读全文
posted @ 2013-08-08 16:18 张子良 阅读(2526) 评论(1) 推荐(2) 编辑

摘要:汉字字符的编码为双字节,对于汉字字符和单字节字符混排的情况,如果目标截取的字符串内只包含奇数个单字节字符,则会出现半个汉字字符的问题,本文就该问题提供了实例代码。 阅读全文
posted @ 2013-03-14 13:16 张子良 阅读(2454) 评论(5) 推荐(2) 编辑