- 浏览: 50348 次
最新评论
文章列表
引言
这本书的作者对于我们来说也是很熟悉了,在他的CSDN博客上有一句古语:
“无冥冥之志者,无昭昭之明;无惛惛之事者,无赫赫之功。”
这句话虽是老生常谈,细细品来很是发人深思。
也是由此,才有了这本书《算法之美——隐匿在数据结构背后的原理(C++版)》的顺利出版吧,另外作者还写有其他的几本书包括出版的和未出版的。我是看了作者在CSDN上的博客,入手了一本关于图像处理的书籍。
学习算法
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。 ...
试读《分布式服务框架原理与实践》
- 博客分类:
- 试读书评
微服务
概述
目前,微服务得到较多的关注:论文,博文,社交媒体上的讨论,还有会议报告。他们处于期望膨胀期的顶峰。同时,在软件社区还有一群怀疑论者,他们无视微服务,认为它没什么新意。反对派们声称,这种想 ...
试读《写给大忙人看的Java核心技术》
- 博客分类:
- 试读书评
概述:
本人作为一个JAVA WEB工程师,刚入职的时候,前辈们告诉我,只要用好了框架,工作中就会无往而不利,将框架作为开发的信条。然而,初出茅庐的我头脑中完全没有框架的概念,等慢慢有了框架概念之后,人 ...
有的小伙伴在问我如何在windows下搭建一个eclipse的hadoop源码阅读环境,今天就以hadoop2.7.2为例,简单介绍下如何搭建。
环境及工具如下:
1、系统:windows7
2、eclipse版本:eclipse-jee-mars-1-win32
3、jdk版本:1.7
4、maven版本:3.3.3
5、protoc版本:2.5.0
6、hadoop:2.7.2
这些环境或者工具的下载、安装及使用在网上有丰富的资料,我就不再多提啦,在这儿我只啰嗦一句,那就是如果没有使用maven管理过项目,那悲剧来啦,在用maven build的时候,你就会发现你要下 ...
- 2016-03-03 14:42
- 浏览 499
- 评论(0)
有的小伙伴在问我如何在windows下搭建一个eclipse的hadoop源码阅读环境,今天就以hadoop2.7.2为例,简单介绍下如何搭建。
环境及工具如下:
1、系统:windows7
2、eclipse版本:eclipse-jee-mars-1-win32
3、jdk版本:1.7
4、maven版本:3.3.3
5、protoc版本:2.5.0
6、hadoop:2.7.2
这些环境或者工具的下载、安装及使用在网上有丰富的资料,我就不再多提啦,在这儿我只啰嗦一句,那就是如果没有使用maven管理过项目,那悲剧来啦,在用maven build的时候,你就会发现你要下 ...
- 2016-03-03 14:42
- 浏览 489
- 评论(0)
首先先引入hadoop2.7.1中的一个工具类GenericsUtil,顾名思义,是用来处理java泛型的一个工具类,这个类很简单,但很实用,不多说,直接上源码:
package org.apache.hadoop.util;
import java.lang.reflect.Array;
import java.util.List;
import org.apache.h ...
- 2015-12-11 15:38
- 浏览 460
- 评论(0)
先来看下org.apache.hadoop.io.serializer的类图(hadoop2.7.1):
由类图看:
接口三个:
1、Deserializer:定义反序列化接口;
2、Serializer:定义序列化接口;
3、Serialization:定义了一系列和序列化相关并相互依赖对象的接口。
依据这三个接口,分别实现了2个类,分别是支持Writable机制的WritableSerialization和支持Java序列化的JavaSerialization,这样一共是6个实现类。
SerilizationFactory:维护一个Serilization的ArrayLis ...
- 2015-12-03 10:33
- 浏览 588
- 评论(0)
在这儿做个记录吧
org.apache.hadoop.io.file.tfile.TFile
@Public
@Evolving
ATFileisacontainerofkey-valuepairs.Bothkeysandvaluesaretype-lessbytes.Keysarerestrictedto64KB,valuelengthisnotrestricted(practicallylimitedtotheavailablediskstorage).TFilefurtherprovidesthefollowingfeatures:
BlockCompression.
Na ...
- 2015-12-03 09:35
- 浏览 512
- 评论(0)
概述
JavaScript是一种运行在浏览器的脚本,它简单,轻巧,易于编辑,这种脚本通常用于浏览器的前端编程,但是一位开发者Ryan有一天发现这种前端式的脚本语言可以运行在服务器上的时候,一场席卷全球的风暴就开始了。 Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。 Node是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封 ...
前言
每到面试季,你会发现基本上每个程序员都会有一本《程序员面试宝典》,读不读不一定,读的有多透彻不一定,但是必须要有上一本。
试读印象
现在是《程序员面试宝典(第5版)》,从试读章节阅读 ...
埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。
给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个质数5筛,把5留下,把5的倍数剔除掉;不断重复下去......。
java源码:package test1.number;
public class Eratosthenes {
public static void main(String[] args) ...
- 2015-11-17 09:59
- 浏览 888
- 评论(0)
源码:
package test1.string;
import java.util.ArrayList;
import java.util.List;
public class Split {
public static void main(String[] args) {
for (String part : getParts("This is an example", 2)) {
System.out.println(part);
}
}
private static List<String> getParts(String ...
- 2015-11-17 09:47
- 浏览 531
- 评论(0)
先来看下类图(hadoop2.7.1):
对照类图,对每一种压缩算法做个简单介绍:
DeflateCodec(DEFLATE)
hadoop2.7.1中实际上就是DefaultCodec。
它同时使用了LZ77算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法。
人们普遍 ...
- 2015-11-13 13:41
- 浏览 348
- 评论(0)
MapFile
是排序后的SequenceFile,MapFile由两部分组成,分别是data和index。
index
文件的数据索引,主要记录了每个Record的key值,以及该Record在文件中的偏移位置。在MapFile被访问的时候,索引文件会被加载到内存,通过索引映射关系可迅速定位到指定Record所在文件位置,因此,相对SequenceFile而言,MapFile的检索效率是高效的,缺点是会消耗一部分内存来存储index数据,因为读取的时候,一整个的index都会被读取到内存中,所以在实现key的时候,要使数据尽可能的小。
读、写源码:
package o ...
- 2015-11-08 10:02
- 浏览 540
- 评论(0)
写操作
根据上一篇的介绍,在hadoop2.x之后,hadoop中的SequenceFile.Writer将会逐渐摒弃大量的createWriter()重载方法,而整合为更为简洁的createWriter()方法,除了配置参数外,其他的参数统统使用SequenceFile.Writer.Option来替代,具体有:
新的API里提供的option参数:
FileOption
FileSystemOption
StreamOption
BufferSizeOption
BlockSizeOption
ReplicationOption
KeyClassOption ...
- 2015-11-06 22:13
- 浏览 475
- 评论(0)