自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

roy的专栏

从基础开始,腾云之上!

  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

转载 区块链扫盲

1.区块链解决了啥问题一个东西有价值,一定是解决了一个社会上的痛点。我们说人工智能是未来的趋势,因为它主要解决的是生产力的升级问题,工业革命代替人的简单体力劳动,人工智能代替的是例如思考之类的复杂劳动。区块链解决的是生产关系的问题,也就是信任的问题,想一下为什么淘宝需要有支付宝,因为如果没拿到货而直接付钱,卖家不发货怎么办?需要担保机制,这就是买卖间彼此不信任的问题。2.区块链的核心技术理论是啥?...

2018-03-23 08:51:56 197

转载 区块链技术的应用了解

区块链是最近两年非常热门的一个课题,相关的书籍和研究文章也越来越多。总的来说,一方面大家对区块链这个新生事物非常肯定,甚至有不少舆论将其推得很高,比如最近就有一个流行的说法:互联网解决了信息传播的问题,可以称为信息互联网;而区块链解决了价值交换的问题,可以称作价值互联网——将区块链的地位与现在已经极大地改变了经济生活形态的互联网相提并论;另一方面,大家对区块链又很困扰,因为区块链这么好的一个技术各

2017-11-22 14:59:12 618

转载 几种类间关系:继承、实现、依赖、关联、聚合、组合及UML实现图

继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性;实现指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系;在Java中此类关系通过关键字impleme

2012-05-30 16:26:33 421

转载 Java动态规划求解最长公共子串问题

最长公共子串问题:一个给定序列的子序列是在该序列中删去若干元素后得到的序列。给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z 是序列X和Y的公共子序列。最长公共子串就是求给定两个序列的一个最长公共子序列。例如,X=“COBEBRANT”,Y=“COBAT”是X的一个子序列。问题分析:给定两个序列A和B,称序列Z是A和B的公共子序列,是指Z同是A和B的子序列。问题要求

2012-05-24 20:58:36 1132

转载 图的广度优先搜索

广度优先搜索法是 A*搜索的原型,先写出广度优先搜索,再在下篇中扩展成A*;设置两个链表closedList  存放已经访问过的节点,是(FIFO)表openList    存放已经即将访的节点,是(FIFO)表在该算法中,每个节点最多被访问一次.import java.util.*;public class BreadthFirstSearchTest {

2012-05-24 19:43:01 422

转载 层次聚类算法

层次聚类算法:前面介绍的K-means算法和K中心点算法都属于划分式(partitional)聚类算法。层次聚类算法是将所有的样本点自底向上合并组成一棵树或者自顶向下分裂成一棵树的过程,这两种方式分别称为凝聚和分裂。凝聚层次算法:初始阶段,将每个样本点分别当做其类簇,然后合并这些原子类簇直至达到预期的类簇数或者其他终止条件。分裂层次算法:初始阶段,将所有的样本点当做同一类簇,然

2012-05-24 16:05:26 4482

原创 java中byte char short类型数据的操作说明

byte:byte在java中占据一个字节即用8位bit表示,因为是有符号数,所以它的表示范围是-128-127.如果在运算过程中超出了范围限制就出现溢出。byte b = 127;计算b+1时就会出现溢出,如果按照整型计算的时候应该是128,但实际结果不是这样的,因为发生了溢出。原因就是数据在计算机内部的计算方式的问题。byte类型的127在计算机内部的表示为01111111,当进行

2012-05-24 01:42:33 2251

转载 Java中的字符串翻转

字符串翻转问题在开发中经常遇到,这里通过一个实现类来做个小结。当然,这也可能在Java Script中用到,那只有用JS的语法来实现,道理是一样的。 public class StringReverse {    /**     * 字符串翻转     *      * @param args     */    public static void main(

2012-05-24 01:18:10 689

转载 Java中的多态

面向对象编程有三个特征,即封装、继承和多态。    封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。    继承是为了重用父类代码,同时为实现多态性作准备。那么什么是多态呢?    方法的重写、重载与动态连接构成多态性。Java之所以引入多态的概念,原因之一是它在类的继承问题上和C++不同,后者允许多继承,这确实给其带来的非常强大的功能,但是

2012-05-24 01:08:19 287

转载 Java集合总结

Java数组是一个Java对象,数组的长度是固定的,在同一个数组中只能够存放相同类型的数据,数组可以存放基本类型的数据,也可以存放引用类型的数据。在创建数组对象时,必须指定数组对象的长度,数组一旦创建,它的长度就不能再变  (1)创建数组对象(即new一个数组时)要指定数组的长度,数组的长度一旦指定,就不能够再发生变化;  (2)同一个数组中的数据的类型必须相同,可以是基本类型,也可以是引

2012-05-22 21:33:55 368

转载 自己实现数据库连接池

1 数据库配置配置项的值来自一个叫mysql_en.properties的文件(该文件应该放到对应的CLASSPATH的目录。mysql_en.properties [xhtml] view plaincopydriver=com.mysql.jdbc.Driver  url=jdbc:mysql://localhost:3306/dfs  user=roo

2012-05-22 21:12:05 344

转载 分布式基础学习【二】 —— 分布式计算系统(Map/Reduce)

二. 分布式计算(Map/Reduce)分布式式计算,同样是一个宽泛的概念,在这里,它狭义的指代,按GoogleMap/Reduce框架所设计的分布式框架。在Hadoop中,分布式文件系统,很大程度上,是为各种分布式计算需求所服务的。我们说分布式文件系统就是加了分布式的文件系统,类似的定义推广到分布式计算上,我们可以将其视为增加了分布式支持的计算函数。从计算的角度上看,Map/Reduce

2012-05-22 21:00:27 391

转载 分布式基础学习【一】 —— 分布式文件系统

所谓分布式,在这里,很狭义的指代以Google的三驾马车,GFS、Map/Reduce、BigTable为框架核心的分布式存储和计算系统。通常如我一样初学的人,会以Google这几份经典的论文作为开端的。它们勾勒出了分布式存储和计算的一个基本蓝图,已可窥见其几分风韵,但终究还是由于缺少一些实现的代码和示例,色彩有些斑驳,缺少了点感性。幸好我们还有Open Source,还有Hadoop。Had

2012-05-22 20:59:43 673

转载 Hadoop RPC 实例

Datanode要向Namenode发送请求,希望得到一个字符串应答。假设Namenode的地址是127.0.0.1:9000  一、配置文件org.apache.hadoop.conf. Configuration;对应的配置文件是core-site.xml。配置项以key-value的形式存储。[xhtml] view plaincopyconf

2012-05-22 20:35:15 386

原创 mapreduce源码分析之Reduce任务的运行

<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->七.Reduce任务的运行看看reduceTask里面的run方法:先看前几行代码跟map其实差不多,只是多了一个状态的设置-------------------------------------------------------------------

2012-05-02 21:03:56 799

原创 mapreduce源码分析之Map任务的运行

<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->六.Map任务的运行如上节所说,如果是map任务,它的run方法代码如下:-----------------------------------------------------------------@Overridepublicvoid

2012-05-02 21:03:18 710

原创 mapreduce源码分析之TaskTracker接受HeartbeatResponse

<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->五.TaskTracker接受HeartbeatResponseTaskTracker根据HeartbeatResponse的返回内容调用addToTaskQueue方法--------------------------------------------

2012-05-02 21:02:15 488

原创 mapreduce源码分析之默认的任务调度器——JobQueueTaskScheduler

<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->四.默认的任务调度器是JobQueueTaskScheduler分配任务:默认的任务调度器是JobQueueTaskScheduler,它的assignTasks方法分配任务,貌似这个方法有一点点小复杂,接下来慢慢分析!-----------------

2012-05-02 21:01:19 1468 1

原创 mapreduce源码分析之HeartBeat机制

<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->三.再次回到JobTracker看看心跳机制是怎么回复的,哈哈。。。当TaskTracker将heartbeat通过RPC发送到JobTracker时,会触发JobTracker的heartbeat()方法,具体见下面(我只是将流程分析了一下,其他的都是一些辅助

2012-05-02 20:59:13 1224

原创 mapreduce源码分析之TaskTracker的启动

<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->再看看TaskTracker里面的内容:TaskTracker的启动:用start-all.sh启动集群时,TaskTracker会调用它的main方法,main里面先生成TaskTracker的对象,然后再调用run方法,run方法代码如下:---

2012-05-02 20:58:16 929

原创 mapreduce源码分析之JobTracker

<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->以下是我研究mapreduce源码的几个步骤,其中没有涉及太多的细节问题,主要就是先将思路理清,为以后继续深入研究做点笔记,主要涉及到map和reduce任务的执行步骤,首先从JobTracler的启动开始,之后到TaskTracker的启动,TaskTracker

2012-05-02 20:55:04 1412

原创 经典排序之快速排序

package 快速排序;/* * 快排的思想:是一种分治策略,但不同于归并的分治,归并的分治是将数组分成相等的两部分处理问题再最后归并起来, * 而快排中间的分治是将数组分成不相等的两部分,就是选取一个支点,然后将小于支点的数据全部都放在支点的左边,将大于 * 它的数据放在支点的右边,完成一次快排,最后进行递归操作左右部分 *  * 其中有一些技巧:首先是选取支点,可

2012-04-20 23:06:56 281

原创 经典排序之归并排序

package 归并排序;/* * 归并排序的思想:将数组从中间分开,然后利用递归的方法将左右子序列均拆开 * 再借助一个数组归并左右序列,排序是在归并时进行的,最后将数据复制到原始数组中 */public class mergeSort {        //要排序的数组    private static int[] array = { 12,34,2543,5

2012-04-20 23:06:20 255

原创 经典排序之插入排序

package InsertionSort;/* * 插入排序,从小到大的顺序,思想是:将数组分成两部分, * 前半部分是已经排好序的,后半部分尚未排序(迭代哦), * 将尚未排序部分的第一个元素与前半部分已经排好序的最后一个元素比较, * 若是比它大的话,就将那个最后一个元素的值换到这个元素的位置, * 而这个元素继续向前比较,直到比它小的地方,就将该元素放在该位置

2012-04-20 23:05:36 229

原创 经典算法之选择排序

package SelectionSort;/* * 选择排序的思想:先从数组的第一个元素开始,选出从第一个开始到最后一个元素之间的最小值, * 找到他的位置(就是序号index),然后将它与第一个元素交换,最后当然是迭代罗 * 有两个函数:1)选出最小的的元素的索引 。 2)进行交换 *  */public class 迭代选择排序 {    /**Task: 将

2012-04-20 23:04:28 270

原创 Shell Script 的学习

Shell script 是最基本的 script 语言,它是一堆 UNIX 指令的集合。本章将介绍 Shell script 的基本功能及语法,期望读者可以经由学习 Shellscripts 让使用 UNIX 系统时可以更加得心应手。第一个Shell Script程序如下:Hello World[root@ouyang]#vi sh01.sh#!/bin/ba

2012-04-19 23:59:56 495

原创 Linux常用命令的学习

1.命令别名设置:使用alias命令,例如   alias l = ‘ls-l’  取消时使用unalias2.如果命令串太长,如何使用两行来输出?  利用“\[Enter]”来将[Enter]这个按键转义,也就是先输入反斜杠,再回车。3.变量的显示:echo $变量名,  例如:echo $PATH  变量的设置:使用 = 号, 例如:”myname =roy”  若某个变量

2012-04-19 23:53:19 219

转载 正则表达式的学习

正则表达式(或称为常规表示法)是透过一些特殊字符的排列,用以 搜寻/取代/删除 一列或多列文字字符串, 简单的说,正则表达式就是用在字符串的处理上面的一项『表示式』。正则表达式并不是一个工具程序, 而是一个字符串处理的标准依据,如果您想要以正则表达式的方式处理字符串,就得要使用支持正则表达式的工具程序才行, 这类的工具程序很多,例如 vi, sed, awk 等等。简单的说,正则表达式就是处理

2012-04-19 23:52:14 346

原创 数据流定向

Linux中数据流重定向的意思是将某个命令执行后应该要出现在屏幕上的数据传输到其他地方,例如文件或设备之类一、stadardoutput与standarderror output首先介绍一下命令执行过程的数据传输情况:图中的standard output和standard error output分别代表“标准输出”和“标准错误输出”。这两个命令默认都是输出到屏幕中来。标准

2012-04-19 23:46:43 359

原创 hadoop集群的配置笔记

以前在单机环境下搭好过Hadoop开发环境,这几天试着搭建了一个集群环境。使用设备是我们学校机房的两台电脑,master 作为Namenode节点,另外一个(slave1)作为Datanode,之后又搭建了六台,步骤基本差不多,这里把搭建两台的步骤贴上,防止以后有需要。    IP地址分配为:     master:192.168.0.100,Ubuntu 11.10,运行Namenode

2012-04-18 23:37:08 402

Android开发经典书籍

Android开发的经典书籍整理,希望对你有所帮助!

2012-02-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除