- 博客(47)
- 资源 (5)
- 收藏
- 关注
转载 HBase Rowkey的散列与预分区设计
HBase中,表会被划分为1...n个Region,被托管在RegionServer中。Region二个重要的属性:StartKey与EndKey表示这个Region维护的rowKey范围,当我们要读/写数据时,如果rowKey落在某个start-end key范围内,那么就会定位到目标region并且读/写到相关的数据。简单地说,有那么一点点类似人群划分,1-15岁为小朋友,16-39岁为年轻人
2015-02-05 15:15:54 2629
原创 分布式并行计算方案:parallel computing by kafka-storm 发布了
如何在分布式集群中,充分利用多节点,对大数据进行拆分,实现并行计算,“parallel computing by kafka-storm ” 提供了一种很好的思路。
2014-12-29 22:25:26 2565
原创 "高可用方案工具包" high availability toolkit 1.2 发布了。version 1.2 新增了 负载均衡 load balance 的技术实现
"高可用方案工具包" high availability toolkit 1.2 发布了。version 1.2 新增了 负载均衡 load balance 的技术实现。
2014-11-15 10:22:03 2227
原创 "高可用方案工具包" high availability toolkit 1.1
"高可用方案工具包" high availability toolkit 1.1 发布了。version 1.1 新增了gossip protocol 的高可用HA方案应用。项目地址: https://github.com/yfwangpeng/HighAvailabilityToolkit作者微博: http://weibo.com/58wp58 介平
2014-10-20 21:53:00 2358
原创 高可用技术工具包 High Availability Toolkit
HighAvailabilityToolkit 1.0高可用技术HA 工具包由若干种业界主流的高可用方案构成。目的是为实现high availability 架构提供简洁易用的方案。目前1.0提供了 zookeeper高可用性HA的技术实现。
2014-10-12 23:40:21 2231
原创 hammal 异构数据实时交换平台
互联网公司的数据部门每天会面临大量数据的导入导出,它们来自不同类型的数据源,去往不同的目的地,它们数据量大的惊人,数据交换会带来额外的开销,执行效率差别很大。因此,我们需要这样的数据交换平台,1,满足异构数据的导入导出;2,数据交换的性能开销越低越好;3,数据传输过程避免过多的磁盘IO操作,实现全内存;4,良好的开放API,采用framework_plugin构建,业务方个性化plugin.基于这样的思想,京东开发了plumber系统,taobao推出了DataX系统,前者基于clojure,后者基于jav
2014-09-08 20:29:15 4442
转载 Spring 异步方法调用
如今,异步 EDA是一个潮流,滚滚而来,让我们看看主流框架Spring 3.0新版本有没有顺应这新趋势,Asynchronous method invocation in Spring 3.0介绍了异步使用。@Async让方法能够被异步调用,以及定时运行。如下:@Componentpublic class MailUtility {@Asyncpub
2014-06-04 11:25:39 5412
转载 activeMQ指南针_领域模型分析_V1.0
2009-7-14 09:35 上传下载附件 (25.26 KB) 图一activeMQ现在越来越复杂了,就像一个武林高手,会的套路是越来越多了,想要看清他的路数,有点不容易。但是如果能把住他的“脉”也许就看清楚了。activeMQ做为软
2014-03-27 19:47:10 2461
转载 activeMQ 的kahadb存储引擎分析
activeMQ 的kahadb存储引擎分析很久没更新blog了,前几天看到淘宝开源了Meta,估计notify也要开源了。其实消息中间件的一个非常重要的核心部件就是持久化存储,可能Meta的功能定位使得它在这一块的实现相对notify和activemq就简单些。趁着有点时间,把activeMQ的kahadb存储引擎做了个分析,希望能对jms实现感兴趣的朋友有点帮助。1.
2014-03-02 17:32:43 4574
转载 activeMQ消息存储机制_Kaha存储机制原理分析
activeMQ指南针_消息存储机制_Kaha存储机制原理分析 在越来越多的网友对activeMQ的存储机制发生了兴趣,为了更好的对activeMQ的存储机制从实现原理进行分析,以知道怎么可以更好的进行优化。我们觉得有必要把我们在分析源码时的一些心得,分享给大家,首先activeMQ的消息存储目录相对简单: 在*\data目录下包括3个目录:journal、kr-store、临时目录(
2014-03-02 17:30:38 5838
原创 对字符串的线程锁定
public static void main(String args[]){new Thread(){ public void run(){ send(new String("zhangsan")); } }.start(); new Thread(){
2013-01-01 15:40:06 2359
原创 读懂 Linux下vmstat
vmstat下 cpu 输出参数解释:us 列显示了用户方式下所花费 CPU 时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长 期大于50%,需要考虑优化用户的程序。sy 列显示了内核进程所花费的cpu时间的百分比。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。wa 列显示了IO等待所占用的CPU时间的百分比。这里w
2012-12-03 15:23:49 1740
转载 log4j输出格式参数解析
参数说明例子%c列出logger名字空间的全称,如果加上{}表示列出从最内层算起的指定层数的名字空间log4j配置文件参数举例输出显示媒介假设当前logger名字空间是"a.b.c"%ca.b.c%c{2}b.c%20c(若名字空间长度小于20
2012-11-27 11:11:06 1926
转载 java利用FutureTask、ExecutorService 在多核时代充分利用CPU运算
一个使用FutureTask简单的例子: package com.spell.threads;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;/*** 测试Futur
2012-11-18 20:59:18 2444
转载 Java Semaphore用法
Java Semaphore用法操作系统的信号量是个很重要的概念,在进程控制方面都有应用。Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,acquire()获取一个许可,如果没有就等待,而release()释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数。 Semaphore维护了当
2012-11-18 20:01:24 2013
转载 java并发编程中CountDownLatch和CyclicBarrier的使用
java并发编程中CountDownLatch和CyclicBarrier的使用 在多线程程序设计中,经常会遇到一个线程等待一个或多个线程的场景,遇到这样的场景应该如何解决?如果是一个线程等待一个线程,则可以通过await()和notify()来实现;如果是一个线程等待多个线程,则就可以使用CountDownLatch和CyclicBarrier来实现比较好的控制
2012-11-18 19:29:25 2324 1
转载 log4j日志输出性能优化-缓存、异步
1、log4j已成为大型系统必不可少的一部分,log4j可以很方便的帮助我们在程序的任何位置输出所要打印的信息,便于我们对系统在调试阶段和正式运行阶段对问题分析和定位。由于日志级别的不同,对系统的性能影响也是有很大的差距,日志级别越高,性能越高。 2、log4j主要分为error,warn,info,debug四个级别,也是使用最多的四种,日志级别从左至右依次增加。 3、log4j
2012-11-14 13:42:12 59730 3
转载 编程方式取得Spring上下文的Properties
在Spring初始化时,可以使用Properties配置器把properties文件装载到Spring的上下文中。 Xml代码 ... xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=“http://www.springfram
2012-10-08 18:32:02 21203 2
转载 Maven使用第三方jar文件的两种方法
在Maven中,使用第三方库一般是通过pom.xml文件中定义的dependency从远程repository中下载该库。但是如果库文件是公司内部的库,或者在本地而不能通过远程repository下载,这种情况下,有两种方法可以满足需求。方法一:将本地的jar文件安装到本地repository中,具体步骤如下:1、准备好本地的jar文件2、使用如下命令安装jar文件
2012-05-30 11:00:41 1236
转载 使用JSmooth将java程序转换成windows上的.exe文件(彻底解决相对目录问题)
使用JSmooth将java应用程序转化为.exe windows可运行程序1、将java程序导出jar包,打包的方式有两种,一种是将当前项目文件以及相关引用全部打入同一个jar包,另外一种是将当前项目文件打成单独jar包。两种方法都可以。但是建议使用第二种,这种方式维护和升级都比较方便,只更新jar包即可,当然第一种也有好处,第一种在生成exe选项的时候,可以将所有的jar文件打包到.e
2012-05-22 10:23:56 4489 1
转载 精简jre
一些相关的资料,提供链接如下:java程序发布之jre篇 基本知道思路了,把程序打包成jar,能双击运行了,然后拷贝一个jre到程序目录下,具体是这样的,目录叫dict,dict下面有dict.jar、jre(目录),然后写了一个cmd脚本:@echo offset path=%cd%\jre\binjava -jar -verbose:class dict.jar >>cla
2012-05-15 19:05:01 1237
转载 一个小例子揭示事务日志的工作原理
2012-03-13 11:02 在事务日志中,数据变化被记录在一个连续的日志记录中,且每一个记录都有一个编号,叫做日志序列编号(Log Sequence Number, LSN)。 在事务日志中,每一个日志记录都被存储在一个虚拟日志文件中。事务日志可以有任意多个虚拟日志文件,数量的多少取决于数据库引擎,而且每个虚拟日志文件的大小也不是固定的。
2012-05-15 11:25:57 1656
转载 关于事务日志
今天,刚刚知道有事务日志这个概念,而且在数据库频繁而长期的运行过程中,事务日志很可能因为写满,导致数据库无法插入新的纪录。于是百度了一下事务日志,学习了一下基本的概念和操作。 1.什么是事务日志? 顾名思意,数据文件主要存储数据库的数据,包括数据库内容结构,数据页,索引页等等。而事务日志,则主要是用来保存数据库修改记录的,如下图: SQL Se
2012-05-15 11:22:54 2384
转载 使用事件驱动模型实现高效稳定的网络服务器程序
转载地址:http://www.ibm.com/developerworks/cn/linux/l-cn-edntwk/前言事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面编程中的应用;事实上,在网络编程中事件驱动也被广泛使用,并大规模部署在高连接数高吞吐量的服务器程序中,如 http 服务器程序、ftp 服务器程序等。相比于传统的网络编程方式,事件驱动能够极大的降低
2012-05-10 18:27:51 1649
转载 再谈java事件监听机制
装载地址:http://blog.sina.com.cn/s/blog_4f9e8fa70100gbq0.htmljava中的事件机制的参与者有3种角色:1.event object:就是事件产生时具体的“事件”,用于listener的相应的方法之中,作为参数,一般存在于listerner的方法之中2.event source:具体的接受事件的实体,比如说,你点击一个but
2012-05-09 15:01:46 1276
转载 Java基础:三步学会Java Socket编程
转载地址:http://tech.163.com/06/0410/09/2EBABUD20009159T.html第一步 充分理解Socket 1.什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 以J2SDK-1.3为例,Socket和Se
2012-05-09 14:15:16 960
原创 cassandra hector 安装与测试
1,从 https://github.com/rantav/hector/downloads 下载hector-core-0.7.0-312,新建项目,将hector-core-0.7.0-31中的jar导入项目中3,测试代码:Cluster cluster = HFactory.getOrCreateCluster("Test Cluster", "10.10.246.122:91
2012-02-04 11:02:06 2620 1
转载 MongoDB的多表关联操作
MongoDB之DBref(关联插入,查询,删除) 实例深入如图所示,A,B,C三个Collection互相关联。 其中的数字为document的value值。关于DBref的入门可以看 http://blog.csdn.net/crazyjixiang/article/details/6616678 这篇文章。我们先建立A collection。
2012-01-12 16:50:52 60772 6
原创 断点续传http head头信息分析及java实现
1,客户端第一次下载客户端request head信息GET /test/micro.rar HTTP/1.1User-Agent: RANGE: bytes=0-Host: 10.10.246.126:8983Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2Connection: keep-a
2012-01-11 13:43:01 7222
转载 短连接http服务器陷阱
短连接http服务器陷阱2009-09-14 17:30由于http协议的简单性以及业务的需要,我们不可避免地需要自己去实现一些走http协议的server。当我们的短连接http服务器(如验证码服务器)是客户端是浏览器(ie、firefox、chrome)的时候,有一个问题需要特别注意,我称之为短连接http服务器陷阱。首先,先来看下面一系列同一个请求,但是不同抓
2012-01-10 18:20:53 5552
转载 短连接http方式如何转变为'长连接'模式
http://apps.hi.baidu.com/share/detail/32253377HTTP实现长连接HTTP是无状态的 也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。如果客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源,如JavaScript文件、图像文件、C
2012-01-10 18:19:10 13488
转载 Spring依赖注入原理学习
首先我们来看看 Spring 参考文档的 11.2.6. 执行SQL语句 这里有个代码片断:import javax.sql.DataSource; import org.springframework.jdbc.core.JdbcTemplate; pu
2011-07-26 15:51:47 817
转载 MyEclipse中Spring工程使用@Resource注释的问题
(残梦追月原创,转载注明) 在MyEclipse的Spring工程中,有时候要使用@Resource注释来驱动Spring配置。但是在MyEclipse添加Spring开发能力的操作中,并没有把相关的库添加到工程的classpath中,所以使用该注解时会产生找不到类的
2011-07-26 14:20:45 843
转载 关于Spring的注入方式
spring的三种注入方式:接口注入(不推荐)getter,setter方式注入(比较常用)构造器注入(死的应用)关于getter和setter方式的注入: autowire="defualt" autowire=“byName” autowire="bytype"例如:有如下两
2011-07-26 14:12:59 470
原创 数据库JDBC连接
数据库jdbc连接 首先,建立一个示例表:Student,SQL语句如下:CREATE TABLE Student(id int NOT NULL auto_increment,username varchar(200) NOT NULL,password varchar(20) NOT NULL,age int,PRIMARY KEY (id) )DEFAULT CHARSET=GBK一.
2008-03-11 09:30:00 790
原创 Java Lucene (9):HTMLParser与html页面解析
java lucene 技术(9):HTMLParser与html页面解析HTMLParser 是一个开源的Java库,它提供了接口,支持线性和嵌套HTML文本。在实际的项目中只需要将htmlparser.jar 导入classpath中,就可以使用HTMLParser提供的API了。HTML有3种类型的节点:RemarkNode:html中的注释,TagNode:标签节点,TextNode:文本
2008-03-07 13:55:00 6293
原创 Java Lucene(8):解析html页面
Java lucene 技术(8): 解析html页面可能Html页面是目前数量最多的数据存储格式,因此,lucene内置了html解析器,用以提供对html页面的解析,解析器对内部细节进行了较好的封装,我们所需做的,只是根据它提供的API,进行相应的程序编写。程序8.1提供了一个解析html页面的方式。 BufferedReader br = new BufferedRea
2008-03-05 13:46:00 2709 1
原创 Java io 流:常见的io类组合形式
java io流:几种常见的io类组合方式try { DataOutputStream out = new DataOutputStream( new BufferedOutputStream( new FileOutputStream("Data.txt")))
2008-03-03 19:19:00 1184
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人