10 小黑屋の小光

尚未进行身份认证

某985院校计算机专业硕士毕业。曾就职于某世界500强企业,擅长分布式存储(分布式文件系统、数据库)、人工智能与机器视觉方向开发

等级
博文 28
排名 5w+

常用聚类算法总结

概述数据挖掘常又被称为价值发现或者是数据勘探,一般是指从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的,人们事先不知道的、但又是潜在有用的信息和知识的过程。它是一种大量数据的高级处理方式。常用的数据挖掘算法分为四大类:聚类、分类、关联以及推荐算法。另外还有一个预处理:降维算法聚类算法聚类是在一群未知类别标号的样本上,用某种算法将他们分成若干类别,这是一种无监督学...

2019-06-04 15:50:39

常用分布式计算任务调度算法

随着大规模并行分布处理系统,特别是网络工作站集群的广泛应用。如何采取有效的调度策略来平衡各节点的负载,从而提高整个系统资源的利用率,已成为人们的研究热点。集群具有可扩展性、高可用性、高性能、高性价比等优点,作为存储区域网的存储设备具有天生的优势。随着PC机的发展,硬盘的价格越来越低,其存储容量越来越大,每台PC机也可配置多块硬盘,且可扩充能力极高,作为集群中的节点管理也相当方便,并具有一定的...

2019-05-10 10:12:38

通过参数-fno-elide-constructors关闭g++的编译优化

前两天在做讲课资料的时候遇到一个比较坑的问题。一般来说调用拷贝构造函数分三种情况1.当用类一个对象去初始化另一个对象时。2.如果函数形参是类对象。3.如果函数返回值是类对象,函数执行完成返回调用时。道理很简单,我写了个很简单的例子在fun函数中会返回一个classA的对象,那么编译器会在栈上构造一个临时对象,构造临时对象的方法则是调用拷贝构造函数结果运行后,如下...

2019-04-06 00:43:36

Bigtable论文笔记

Bigtable作为一个分布式存储平台,能够可靠的扩展存储PB级的数据,并分布到上千台服务器上。适合多种应用,从需要高吞吐量的批处理工作到延时敏感的实时性服务(Bigtable是如何达到这些目的的?在架构上是如何体现的?),具有良好的可伸缩性、高效性、高可用性、高性能(如何达到这些目的?如何设计的?)。一致性、可靠性的问题,论文中没有提到(如何做到这些?依靠底层GFS,还是依靠上层应用的设计?...

2019-03-25 22:38:13

flex&bison之注册表解析

flex&bison简介flex是GNU开发的一个实用工具,它主要用于对语言进行词法分析。使用flex,我们不需要使用像C/C++,Java这样的语言从设计状态机开始编写词法分析器,而只需要按照flex自己的语法编写分词规则文件,然后使用flex编译该文件,flex会根据规则文件生成C/C++源文件,这个源文件中包含了状态机的代码,简化了编写词法分析器的工作。flex的前身...

2019-03-17 21:27:38

使用Automake和Autoconf 生成Makefile 实例

工具简介GNUAutoconf及Automake这两个软件就是帮助程序开发者轻松产生Makefile。用户只要使用“./configure”,“make”,“makeinstall”就可以把程序安裝到系统中。整个automake构建过程如下所示:Autoscan扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件...

2019-03-10 22:38:10

C++ 编译器什么时候会帮助创建拷贝构造函数

前提:当用户没有创建拷贝构造函数1.Memberwise初始化逐个给成员变量赋值,这是最常见的拷贝方式。2.BitwiseCopy属性当Class具有BitwiseCopy属性时,直接用memcpy内存拷贝,此时编译器不会合成拷贝构造函数。总之,只要Class不具备BitwiseCopy属性,编译器就会合成拷贝构造函数。没有BitwiseCo...

2019-03-06 11:53:25

常见结构化存储系统架构

什么是结构化存储系统结构化数据一般指存储在数据库中,具有一定逻辑结构和物理结构的数据,最为常见的是存储在关系数据库中的数据;非结构化数据:一般指结构化数据以外的数据,这些数据不存储在数据库中,而是以各种类型的文本形式存放,其中Web上的一些数据(内嵌于HTML或XML标记中)又具有一定的逻辑结构和物理结构,被称为半结构数据。目前比较成熟的结构化存储系统有Cassandra、Bigtable...

2019-03-01 22:39:24

C++ 虚函数表及多态内部原理详解(三)

(三)多重继承(无虚函数覆盖)下面我们再看看多重继承的情况对于子类实例中的虚函数表,是下面这个样子:从图上我们可以看到1)每个父类都有自己的虚表。2)子类的成员函数被放到了第一个父类的表...

2019-02-26 21:48:02

C++ 虚函数表及多态内部原理详解(二)

实在不好意思,这几天有事没有及时更新。下面继续(二)一般继承(有虚函数覆盖)如果子类中有虚函数重载了父类的虚函数,会是一个什么样子?假设,我们有下面这样的一个继承关系。如图所示:在这个类的设计中,只覆盖了父类的一个函数:f()。那么,对于派生类的实例,其虚...

2019-02-26 21:33:29

C++ 虚函数表及多态内部原理详解(一)

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。虚函数表每个含有虚函数的类都有一个虚函数表(VirtualTable)来实现的。简称为V-Table。C++的编译器应该是保证虚函数表的指针存在于对象实例中最前面的位置(这是为了保证...

2019-02-24 00:24:14

Hadoop MapReduce框架介绍

  HadoopMapReduce是一个软件框架,基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商用机器组成的大集群上,并以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。软件框架如下图所示:  Client:用户编写的Mapreduce程序通过Client端提交给JobTracker端;Client还提供一些查看作业运行状态的接口JobTr...

2019-02-21 22:24:45

分布式计算任务调度算法总结

一、影响分布式系统性能的因素主要有这些因素影响着分布式系统的性能:网络延迟、数据通信效能、计算节点处理能力、任务的分割、无法预算处理时间、任务的颠簸等等。我们在寻求分布式计算调度算法时,就是有针对性的以解决这些问题为目的,从各个角度,不同侧面,利用一种或者集中方法结合起来的形式,从而达到最优解,使得系统效率相对最高。二、几种基本的调度算法获得网络负载均衡有几个基本的方法。这些方法可以结合使...

2019-02-20 17:08:55

MySQL 存储引擎 (SphinxSE)安装详解

sphinxSE是一个mysql存储引擎,它可以编译进入mysqlserver之中,但必须版本是5.x(5.0.22或者5.0.x更高版本,5.1.12或者更高但5.1.x),在这里我采用的是5.1.55,Sphinx版本是coreseek-3.2.14,注意5.0.x的安装方式不一样,虽然是一个搜索引擎但是SphinxSE本身不存储数据,它是一个内置的客户端,允许mysql服务器与Sphinx...

2019-02-19 18:23:08

FUSE架构详解

整体架构及流程fuse为多线程并发模型,每个worker线程都在读取/dev/fuse中的请求,这样就保证线程之间的同步,当读取到一个请求之后,线程就开始处理该请求,但如果监听线程为0,则继续创建新的线程进行监听,处理完请求之后,如果线程的数量超过限制(10个),就退出该线程。整个框架如下: worker线程通过请求派发函数fuse_ll_process派发请求之后,根据opcod...

2019-02-18 09:40:34

B树的插入、删除操作详解

背景在大规模数据存储中,在实现索引查询这样一个实际背景下,二叉查找树结点存储的元素数量是有限的,这样导致二叉查找树结构由于树的深度过大而造成磁盘I/O读写过于频繁,进而导致查询效率低下,那么如何减少树的深度(当然是不能减少查询的数据量),一个基本的想法就是:采用多叉树结构,B树也就应运而生。B树的定义一棵m阶的B树满足下列条件∶每个结点至多有m棵子树。  除根结点外,其它每个分支...

2019-02-17 13:35:09

Hadoop MapReduce验证分析

1、输入文件输入文件为一个1.2GB的文本文件,通过wc命令可以验证文本文件的行数,和总的单词个数。运行命令:hadoopjar/root/hadoop-2.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jarwordcount/input/output行数为26048904单词个数为:...

2019-02-16 20:33:32

阿里校招软件开发岗位实习生面试经验分享

 本人曾参加过阿里校招面试,并顺利通过。现将当时的一些面试经验同大家分享。1、简历准备1.1要求:简洁至上,突出项目,实习经历,获奖经历等1.2参考模板教育背景 实习经历 项目经历(项目描述+个人职责) 所获奖励个人技能整个简历页数最好控制在1至2页内比较好的Latex模板网站推荐:http://www.latexstudio.net/a...

2019-02-16 20:21:58

Hadoop2.2 在Linux下的配置详解

1、环境准备1.1 java环境准备由于hadoop需要运行在java环境下,所以,java环境是必须的,需要安装jdk,最好不要用linux上自带的openjdk,需要用oracle官网提供的jdk才行。下载jdk网址为: http://www.oracle.com/technetwork/java/javase/downloads/index.html安装方法请自行参阅官...

2019-02-16 20:02:46

C++中Bitwise Copy带来的问题实例讲解

在对象拷贝过程中,如果没有显示定义默认拷贝构造函数和默认赋值构造函数,编译器会提供相应的缺省函数,该函数是"按位"进行拷贝或者赋值。对于只含有POD成员数据的简单类,bitwise copy方式绰绰有余。但是倘若类比较复杂,类成员中包含有指针、引用、虚函数时会出现错误。   以类A为例,类A定义如下图所示     假设创建对象a1,a2,a2通过a1拷贝,要是未定义默认拷贝构造...

2019-02-16 11:48:42
奖章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。