摘要: 把之前分享的spring框架整理一份放在这里。整体架构:Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架框架图(选自:http://docs.spring.io/spring/docs/3.0.x/reference/overview.html):core Containe... 阅读全文
posted @ 2014-11-27 11:59 wully 阅读(8685) 评论(0) 推荐(0) 编辑
摘要: 定义ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。原理ZooKeeper是以Fast Paxos算法为基础的,paxos算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader,只有leader才能提交propose,具体算法可见Fast Paxos。系统结构在zook 阅读全文
posted @ 2013-12-06 11:29 wully 阅读(1372) 评论(0) 推荐(0) 编辑
摘要: HBaseConfigurationHBaseConfiguration是每一个hbase client都会使用到的对象,它代表的是HBase配置信息。它有两种构造方式:public HBaseConfiguration()public HBaseConfiguration(final Configuration c)默认的构造方式会尝试从hbase-default.xml和hbase-site.xml中读取配置。如果classpath没有这两个文件,就需要你自己设置配置。Configuration HBASE_CONFIG = new Configuration();HBASE_CONFIG 阅读全文
posted @ 2013-12-06 11:09 wully 阅读(1339) 评论(0) 推荐(0) 编辑
摘要: 我们在实际工作中 ,有些项目的架构是相似的,例如基于 restful的接口项目,如果每次都重新搭建一套架构或者通过拷贝建立一个项目难免有些得不偿失,这里我们可以用maven的archtype建立项目模版来解决 。创建maven archetype的步骤:archetype组成:archetype.xml (src/main/resources/META-INF/maven/)框架本身的源码和资源文件模版 src/main/resources/archetype-resources/框架本身的pom文件模版 src/main/resources/archetype-resources/生成框架的 阅读全文
posted @ 2013-11-22 15:47 wully 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 有这么一段代码:package zl.test;public class PcodeTest { /** * @param args */ public static void main(String[] args) { int i = 1; i = i++; System.out.println(i); }}输出为 1 ,感觉有些意思,我们来分析下字节码public static void main(java.lang.String[]); Code: Stack=2, Locals=2, Args_size=... 阅读全文
posted @ 2013-11-22 11:32 wully 阅读(291) 评论(0) 推荐(0) 编辑
摘要: Executorjava.util.concurrent.Executor接口的主要目的是要将“任务提交”和“任务执行”两者分离解耦。该接口定义了任务提交的方法,实现者可以提供不同的任务运行机制,解决具体的线程使用规则、调度方式等问题。Executor只有一个方法,即void execute(Runnable command) ,它接受任何实现了Runnable的实例,这个实例代表了一个需要执行的任务。Spring对Executor所提供的抽象Spring的org.springframework.core.task.TaskExecutor接口等同于java.util.concurrent.E 阅读全文
posted @ 2013-11-20 11:48 wully 阅读(2298) 评论(0) 推荐(0) 编辑
摘要: 计算机编码:原码符号位为0表示正数,为1表示负数;其余各位等同于真值的绝对值。如:0000 0000 0000 0010 =2,1000 0000 0000 0010 =-2反码符号位的用法及正数的表示与“原码”一样;负数的表示是在“原码”表示的基础上通过将符号位以外的各位取反来获得的。如:0000 0000 0000 0010 = 2,1111 1111 1111 1101 = -2补码符号位的用法及正数的表示与“原码”一样;负数的表示是在“反码”的基础上通过加1来获得的。如:0000 0010 = 2,1111 1110 = -2计算机中负数的表示均用补码,负数参与的运算得到的也是补码位运 阅读全文
posted @ 2013-11-19 14:54 wully 阅读(368) 评论(1) 推荐(0) 编辑
摘要: hbase的配置信息,在hbase-site.xml里面有详细说明。可以按照需要查询相关的配置。 hbase.rootdir file:///tmp/hbase-${user.name}/hbase The directory shared by region servers and into which HBase persists. The URL should be 'fully-qualified' to include the filesystem scheme. For example, to specify the HDFS direc... 阅读全文
posted @ 2013-11-18 18:51 wully 阅读(456) 评论(0) 推荐(0) 编辑
摘要: Hbase shell 启动下载安装hbase client包,填写相关配置后进入,配置相关说明可以参见配置篇指令:./bin/hbase shell状态及配置信息查询查询服务器状态status查询版本versionDDL:创建一个表create '表名','列族1','列族2','列族3'eg:create 'member','member_id','address','info'获取所有表hbase(main):012:0>list获得表的描述describ 阅读全文
posted @ 2013-11-18 17:24 wully 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 定义:HBase是一个分布式的、面向列的开源数据库,HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。逻辑视图: 用户对hbase中的数据在逻辑上通过rowkey,column family, cell ,timestamp进行管理Row Key与nosql数据库们一样,row key是用来检索记录的主键。访问hbase table中的行,只有三种方式:通过单个row key访问通过row key的range全表扫描存储时,数据按照Row k 阅读全文
posted @ 2013-11-18 16:48 wully 阅读(564) 评论(0) 推荐(0) 编辑