05 2013 档案

摘要:HDFS中的Block状态分析 文件在HDFS里进行读取和存储的时候大都是以block的形式存在和表现。每个文件都可能会有很多个block,每个block又会根据配置文件中的replica的value设置有着多个备份。在NN(NameNode)中,称之为block的这些个东东,在DN(DataNode)中通常叫做replica(都是指的同一种东东)。Block在NN中和DN中随着操作的不同,会有多种状态,这些状态因不同的操作而触发,又因不同的操作而发生转变。下面就分别分析block在NN中和DN中的各种状态以及状态之间的转变。1 DN端的block状态 DN端block状态都保存在DN的内存之 阅读全文
posted @ 2013-05-30 20:12 Scott007 阅读(1177) 评论(0) 推荐(0)
摘要:通常来说,大家都是对Java中的Exception进行捕获和进行相应的处理,有些人说,error就无法捕获了。其实,error也是可以捕获的。Error和Exception都是Throwable的子类。既然可以catch Throwable,那么error也是可以catch的。下面给个小例子,来验证一下error的捕获。public class TestCatchError extends Error{ private static final long serialVersionUID = -351488225420878020L; public TestCatchE... 阅读全文
posted @ 2013-05-22 21:03 Scott007 阅读(2039) 评论(0) 推荐(0)
摘要:在Java编程中,时常会用到一些对象的复制操作,这里的复制又会分为浅拷贝和深拷贝。1.浅复制与深复制概念 1)浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。 2)深复制(深克隆) 被复制对象的所有变量都含有与原来的对象相同的值,那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。2.拷贝的实现 一个拷贝相当于“赋值”,而一个new就是执行构造函数,拷贝得到的是一个对象运行时候的状态!而不是初始值。 具体实现拷贝有以下几种方式: 1)实现Cloneable接口; 2)重写Object类中... 阅读全文
posted @ 2013-05-15 21:13 Scott007 阅读(1874) 评论(0) 推荐(0)
摘要:近来,在做服务器后台处理数据的时候,需要用到Java自带的几种流对数据进行读写,初始时没怎么在意,就随便用了一个,结果发现性能上并不尽如人意。于是对几种常用的流做了个小小的性能测试。测试代码如下: 1 public static int FileOutputStreamTime = 0; 2 public static int BufferedOutputStreamTime = 0; 3 public static int FileWriterTime = 0; 4 public static int FileInputStreamTime = 0... 阅读全文
posted @ 2013-05-14 21:53 Scott007 阅读(5313) 评论(1) 推荐(1)