- 博客(12)
- 收藏
- 关注
原创 线程安全的缓存类简单实现
一个线程安全的缓存类简单实现:import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class Cache {...
2016-10-24 21:28:46
602
原创 堆排序Java版
堆是具有下列性质的完全二叉树:每个结点的值都大于或等于其左右孩子的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。堆排序的平均时间复杂度为O(nlogn),空间复杂度为O(1)public void heapSort(int[] datas) { int length = datas.length; for(int i = length / 2;...
2016-08-29 14:57:08
107
原创 归并排序Java版
归并排序算法采用分治方法,把两个有序表合并成一个新的有序表。归并排序是一种稳定的排序算法,即相等元素的顺序不会改变。public class MergeSort { private void merge(int[] a , int begin, int mid, int end, int[] temp) { int i = begin, j = mid + 1; int m...
2015-08-27 17:17:36
109
插入排序Java版
插入排序的基本思路是,每拿到一个元素,都要将这个元素与所有它之前的元素遍历比较一遍,让符合排序顺序的元素挨个移动到当前范围内它最应该出现的位置。在排序效率上,比冒泡排序大致快一倍,尤其适合部分数据有序的情况下。Java实现如下:public void insertSort(int[] datas) { if(null == datas || 0 == datas.length) ...
2015-08-13 14:35:36
87
选择排序Java版
选择排序可以说是冒泡排序的改进,减少了数据交换的次数。public void selectSort(int[] array) { int length = array.length - 1; int min = 0; for(int i = 0; i < length; i++) { min = i; for(int j = i + 1; j &...
2015-08-13 11:25:23
78
冒泡排序的两种实现方法(Java)
冒泡排序的两种Java实现方法。方法一: public void bubbleSort(int[] array) { int length = array.length - 1; for(int i = length; i > 0; i--) { for(int j = 0; j < i; j++) { if(array[j] > ar...
2015-08-13 11:03:22
176
【原创】HBase如何实现海量数据的毫秒级查询
HBase中单表的数据量通常可以达到TB级或PB级,但大多数情况下数据读取可以做到毫秒级。HBase是如何做到的哪?要想实现表中数据的快速访问,通用的做法是数据保持有序并尽可能的将数据保存在内存里。HBase也是这样实现的。 对于海量级的数据,首先要解决存储的问题。 数据存储上,HBase将表切分成小一点的数据单位region,托管到RegionServer上,和以前关系数据库...
2015-07-09 16:45:39
2330
【原创】HBase中列族设计的原则
HBase表在进行模式设计时,首先考虑的一个问题是,这个表应该有多少个列族。一张表设计多少列族合理呢?相信这个问题困扰着不少HBase初学者。让我们来先简单分析一下HBase的实现原理。 HBase中的表和其数据库一样,也是由行和列组成的,虽说模式有些不同。HBase中的表可能达到数十亿行和数百万列,表的大小可能达到TB级,显然不可能在一台机器上存放整张表。相反,一张表在存储...
2015-07-09 10:31:42
1683
原创 【原创】HBase 0.98 coprocessor Endpoint实现行数统计
当我们对HBase表中的数据进行一些简单的行数统计或者聚合计算时,如果使用MapReduce或Native API将数据传到客户端进行计算,就会有较大延迟和大量网络IO开销。如果能把这些计算放在Server端,就可以减少网络IO开销,从而获得很好的性能提升。HBase的协处理器可以很好的实现上述想法。HBase coprocessor 分为两大类,分别是:1、Observer:类似于观...
2015-07-07 18:13:22
152
原创 maven打包时默认未包含xml文件解决方法
在使用MyBatis框架进行项目开发时,经常会打MyBatis的配置文件xml文件放在代码包中。但在使用Maven进行打包时,默认未将这些xml文件拷贝到classes文件夹下。为了解决这个问题,需要在pom.xml文件中添加以下配置: <resources> <resource> <directory>src/m...
2014-05-21 16:01:26
372
原创 Nutch1.6解析网页乱码解决方案
Nutch1.6在使用默认网页解析插件解析网页文本时,有些网页会出现在乱码问题。出现乱码的原因分析:parse-html插件在解析网页文本时,会先使用正则表达匹配出网页的编码。源码如下: private static Pattern metaPattern = Pattern.compile("<meta\\s+([^>]*http-equiv=(\"|')?content...
2014-05-09 17:15:07
135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人