`
aaron-han
  • 浏览: 27103 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
又这么久... 太懒了...  放个很久以前写的HBase基本API的示例程序代码吧,涉及crud操作和几个简单的filter import java.io.IOException; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hb ...
基于前两篇的基础,在ubuntu下搭建hadoop环境及运行wordcount示例的过程比较顺利,现做一下简单记录。 环境:ubuntu10.04 hadoop0.20.2 jdk1.6.0_29 步骤如下: 1.安装JDK并配置环境变量   一些文章里说用sudo apt-get install sun-java6-jdk之类的命令,我对ubuntu比较小白,半天也没折腾出来,然后就直接去oralce的官网下了linux版本的jdk。     配置环境变量:   sudo gedit /etc/profile   在最后边追加:   #set java enviro ...
先说两点都知道的: 1.CountDownLatch减计数,CyclicBarrier加计数。 2.CountDownLatch是一次性的,CyclicBarrier可以重用。 然后我们用被大家说烂了的跑步的例子继续说事儿: 1. 有五个人,一个裁判。这五个人同时跑,裁判开始计时,五个人都到终点了,裁判喊停,然后统计这五个人从开始跑到最后一个撞线用了多长时间。 import java.util.concurrent.CountDownLatch; public class Race { public static void main(String[] args) { ...
转自:http://www.blogjava.net/zh-weir/archive/2011/02/23/345007.html Java内存管理机制      在C++语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期。从申请分配、到使用、再到最后的释放。这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导致内存的泄露。Java语言对内存管理做了自己的优化,这就是垃圾回收机制。Java的几乎所有内存对象都是在堆内存上分配(基本数据类型除外),然后由GC(garbage collection)负责自动回收不再使用的内存。          上 ...
标题起的又一次把自己恶心到了。。 算法实现完全来源于编程之美,最简单的DP思想的实践。 maxSubSum2方法中稍作修改,记录了下该子序列的下标。 /** * 子数组之和的最大值:要求子数组的元素是连续的 * * @author aaron-han * */ public class MaxSubSum { public static void main(String[] args) { int[] arr = { 3, 5, -3, -2, 5, 8, 3, -2, 1 }; // 19 int maxSum = maxSubSum2( ...
不考虑带环的情况... 这里面其实包含了两个问题:判断链表相交和找两个相交链表的第一个公共点。 思路:首先需要理解的是若两个链表相交,则一定是呈Y型。所以我们分别遍历两个链表,找到最后一个节点,若它们相同,则一定相交。然后我们从后往前考虑,假设两个链表有n个公共节点,两个链表的长分别为l和m(设l>m),那么我们先让较长的链表遍历l-m个。两个链表剩余部分长度是相等的(m),则同步遍历比较,若相同,则输出。 import com.linkedlist.LinkedListReverse.Node; /** * 打印相交链表的公共节点 * * @author aar ...
貌似各种笔试面试里这个挺爱考的,不清楚过程多画画图就明白了。 先写的单的,哪天把双链表逆置写一下。 public class LinkedListReverse { /** * 单链表逆置 * * @author aaron-han * */ public static void main(String[] args) { Node a = new Node("NodeA"); Node b = new Node("NodeB"); Node c = new Node("Nod ...
博客标题起的真别扭。。 先说两点: 1.用cygwin伪分布式环境运行的。 2.hadoop开发者第一期里有个DFSOperator的示例,那个更简单,怎么打jar包,怎么运行之类的问题可以先参见一个那篇文章。 运行WordCount示例遇到了两个问题: a. ***/work/tmp does not exist的问题 解决办法:配置conf/mapred-site.xml文件中mapred.child.tmp属性的值,如下:     <property>          <name>mapred.child.tmp</name>         ...
先说明两点: 1.搭建的基本过程参见Hadoopor论坛的Hadoop开发者杂志第一期,很靠谱。 2.本文以下内容全部经过个人验证。 搭建环境过程中出现的问题: a.安装cygwin时源URL的选择    参照Hadoop开发者论坛,如下:    但实际上该源并不能使用。    推荐:在URL里输入:http://mirrors.163.com/cygwin/,点击Add按钮,然后选中 http://mirrors.163.com/cygwin 进行安装。 b.JAVA_HOME问题    在hadoop-env.sh 中设定JDK 的安装目录,例如:    export JAVA_H ...
仅适用于规模N较小的情况。 大致思路:遍历一遍,不断更新max和secondMax。 需要注意两点:1.元素个数小于两个(这个有点打酱油。。)  2.所有元素值相同 代码如下: import java.util.Arrays; /** * 寻找第二大的数:规模N较小的情况 * * @author aaron-han * */ public class FindSecondMax { public static void main(String[] args) { int[] arr = com.utils.Utils.randomIntArray ...
分治思想求解N个数中的最大值max和最小值min:分别求出前后N/2个数中的max和min,然后取较大的max和较小的min。 比较次数:f(N) = 2*f(N/2) + 2 = ... = 1.5N - 2。 import java.util.Arrays; /** * 寻找最大最小值 【分治】 * * @author aaron-han * */ public class FindMaxMin { public static void main(String[] args) { int[] arr = com.utils.Utils.ra ...
  算法一直是一块短板,今后会陆续写一些常用算法的实现,希望和大家一起探讨学习。   快速排序是排序算法中最经典的一个,原理就不再赘述了,直接上代码。欢迎大家拍砖指导。 import java.util.Arrays; /** * 快速排序 * * @author aaron-han * */ public class QuickSort { public static void main(String[] args) { int[] arr = com.utils.Utils.randomIntArray(); quickSort(arr ...
Global site tag (gtag.js) - Google Analytics