
数据结构和算法
文章平均质量分 53
iteye_12877
这个作者很懒,什么都没留下…
展开
-
ThreadPoolExecutor 中饱和策略分析
import java.util.concurrent.TimeUnit;public class ThreadPoolTask implements Runnable { private final Object threadPoolTaskData; private static long consumerTaskSleepTime = 2L; public T...原创 2014-07-03 15:25:42 · 351 阅读 · 0 评论 -
FutureTask 实例
先来总结一下FutureTask使用场景:如果不想分支线程阻塞主线程,又想取得分支线程的执行结果,就用FutureTask。可用于提交加载稍后需要的数据,或是复杂的计算。代码如下:import java.util.concurrent.Callable;import java.util.concurrent.FutureTask;import java.util.concur...原创 2014-06-29 10:56:21 · 183 阅读 · 0 评论 -
ReadWriteLock 使用实例
首先来讨论ReadWriteLock 类的使用场景,记住一句话:在多线程,“读多写少”的场景就推荐使用,可以提高线程的性能。下面是一个实例:import java.util.Map;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReadWriteLock;import java.u...原创 2014-06-28 20:21:29 · 244 阅读 · 0 评论 -
安全发布单例模式
1、最简单的方法:public class Singletion { private static Singletion singletion = new Singletion(); private Singletion() {} public static Singletion getInstance() { return singletion; }}2、使...原创 2014-06-27 17:24:13 · 107 阅读 · 0 评论 -
JAVA notifyAll wait 实例
两个线程,分别有两数据结构:1到10的数据和A到E的字符。要求打印出:12A34B56C78D910E 。程序如下: public class NotifyAllTest { /** 期望的打印结果:12A34B56C78D910E ,怎么搞 ? * @param args */ public static void main(String[] args) {...2014-06-27 13:55:39 · 117 阅读 · 0 评论 -
JAVA多线程 Semaphore 应用
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;import java.util.concurrent.TimeUnit;public class SemaphoreTest {...原创 2014-01-24 16:04:54 · 122 阅读 · 0 评论 -
JAVA多线程 Exchanger 应用
import java.util.concurrent.Exchanger;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;/** * 案例:服务员向原有空杯中不断倒水,消费者不断从原...原创 2014-01-24 15:42:30 · 169 阅读 · 0 评论 -
Condition 在多线程协作中应用实例
import java.util.ArrayList;import java.util.List;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.locks.Condition;import java.u...2014-01-16 15:47:16 · 176 阅读 · 0 评论 -
二叉排序树使用List 实现(JAVA)
使用JAVA中的List构建二叉排序树。其中,iterator方法不知道怎么样写,请大伙支援?代码如下:import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class BinaryTreeList<E> extends AbstractSingleLin...2014-01-04 17:05:49 · 277 阅读 · 0 评论 -
队列(Queue)用JAVA简单实现
代码如下:import java.util.Iterator;import java.util.List;public class Queue<E> extends AbstractSingleLinkedList<E> implements List<E> ,java.io.Serializable { private static ...2014-01-04 14:15:58 · 451 阅读 · 0 评论 -
Stack (堆栈)使用JAVA实现
代码如下:import java.util.AbstractList;import java.util.Arrays;import java.util.Iterator;import java.util.List;import java.util.RandomAccess;public class Stack<E> extends AbstractLis...2013-12-29 17:25:43 · 174 阅读 · 0 评论 -
循环单向链表JAVA实现
上一个blog写到 非循环单向链表java 实现。在此基础上开发循环单向链表,代码如下:import java.util.List;public class CycleSingleLinkedList<E> extends AbstractSingleLinkedList<E> implements List<E> ,java.io.Seriali...2013-12-29 16:25:52 · 117 阅读 · 0 评论 -
斐波那契数列 的两种实现方式
一、先要回答一个问题:什么是婓波那契数列?答案在这里:http://zh.wikipedia.org/wiki/%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97二、看代码:1)第一方法:递归实现:public static void main(String[] args) { for (int i = 0; i <...2013-12-23 18:58:04 · 297 阅读 · 0 评论 -
快速排序的简单实例
代码如下:public class QuickSortTest { public static void main(String[] args) { int[] arr = {9,8,10,7,5,6,3,2,4,-1}; SortUtil.showArr(arr); quickSort(arr,0,arr.length -1); SortUtil.show...2013-12-19 19:41:56 · 237 阅读 · 0 评论 -
判断是否是回文数的简单实例
代码如下:public class PalindromeTest { public static void main(String[] args) { //String str = "ABDBA"; for (int i = 0,n = 0; i < 1000; i++) { if (isPalindrome(String.valueOf(i))) { ...2013-12-18 19:51:21 · 147 阅读 · 0 评论 -
插入排序、选择排序、冒泡排序 简单实例
一、插入排序:/** * 思路:在没有排好序的数据中从左至右依次选择一个数据 * 与排好序的数据从右至左进行比较,如果排好序的数据大 * 于待排序的数据,排好序的数据依次后移 * @param arr */public static void insertSort(int[] arr) { for (int i = 0,len = arr.length; i &...2013-12-18 18:52:31 · 113 阅读 · 0 评论 -
Hadoop 自定义数据类型实例
一、来自 hadoop in action 上的实例,我在这里做了一个总结。文件内容如下:17:16:20 http://blackproof.iteye.com/blog/180626317:16:21 http://blackproof.iteye.com/blog/180626417:16:56 http://blackproof.iteye.com/blog/1806265...2013-11-23 16:21:26 · 199 阅读 · 0 评论 -
Hadoop 统计不同引用次数的专利数目(三)
一、在(二)的基础之上做修改,代码如下: import java.io.IOException;import org.apache.hadoop.conf.Configured;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoo...2013-11-23 16:14:36 · 274 阅读 · 0 评论 -
Hadoop 统计专利被引用次数(二)
一、在(一)中,我们计算出专利被那些专利所引用,在此基础上计算被引用的次数,不难实现。我们用两种方法来完成。代码(1)如下: import java.io.IOException;import org.apache.hadoop.conf.Configured;import org.apache.hadoop.fs.Path;import org.apache.hado...原创 2013-11-23 16:03:45 · 968 阅读 · 0 评论 -
Hadoop 统计专利被那些专利所引用(一)
一、以下是测试数据:"CITING","CITED"3858241,9562033858241,13242343858241,33984063858241,35573843858241,36348893858242,15157013858242,33192613858242,36687053858242,37070043858243,2949611...2013-11-23 13:01:27 · 585 阅读 · 0 评论 -
权限不对导致datanode启动不成功
一、使用JPS发现datanode没有启动成功,然后分析日志。看到有如下信息:WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Source name ugi already exists!WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid directo...2013-10-29 20:07:13 · 553 阅读 · 0 评论 -
Hadoop 配置分享
一、core-site.xml配置如下:<configuration> <property> <name>fs.default.name</name> <!-- 请使用IP,不要使用localhost --> <value>hdfs://192.16...2013-10-28 20:13:49 · 139 阅读 · 0 评论 -
Hbase 伪分布模式配置
1、我使用的hbase版本是hbase-0.94.8。配置如下:到${hbase_homo}/conf 目录,修改hbase-env.sh文件:export JAVA_HOME=/usr/Java/jdk1.6/ 将JAVA_HOME 修改成Ubuntu的路径,可以在控制台上运行 echo ${JAVA_HOME} 来看输出结果; export HBASE_CLASSPA...2013-06-04 18:55:04 · 206 阅读 · 0 评论 -
connect by prior 使用总结
SELECT * FROM CATEGORY c CONNECT BY PRIOR c.id = c.category_parent_id START WITH c.id = 123 上面的sql查询 category_parent_id 是 123 的结果集。SELECT * FROM CATEGORY c CONNECT BY PRIOR c.category_paren...2012-03-12 18:20:01 · 203 阅读 · 0 评论 -
拥有私有构造器的类,在类外面创建对象的方法(AccessibleObject)
一、有下面的类信息:public class TestAccessibleObject { private String name; private TestAccessibleObject() { } public String getName() { return name; } public void setName(String...原创 2012-01-20 16:31:59 · 338 阅读 · 0 评论 -
MySQL 随机取数据
SELECT * FROM tip t1 , (SELECT tipidFROM tipORDER BY RAND()LIMIT 0,2) t2 WHERE t1.tipid = t2.tipid2012-01-18 15:16:51 · 138 阅读 · 0 评论 -
obj使用后赋值null讨论
和大家讨论一下,下面代码的输入结果是: import java.util.ArrayList;import java.util.List;public class ParamValue { public static void main(String[] args) { List<TestObject> objs = new ArrayList<...2011-11-16 13:13:01 · 216 阅读 · 0 评论 -
Arrays.asList 使用注意事项
看下面的代码:import java.util.Arrays;import java.util.List;public class TestAsList { public static void main(String[] args) { String[] str = new String[]{"1","2","3"}; List<String>...2011-11-16 13:03:58 · 105 阅读 · 0 评论 -
JAVA Encrypter 加密算法
/** * 加密者 * * @time: 2007-8-29 下午05:45:36 */public final class Encrypter { private static Cipher ecipher; private static Cipher dcipher; // 必须24个字符 priva...2011-11-11 17:19:11 · 337 阅读 · 0 评论 -
JAVA MD5 加密
代码如下:import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5 { private String getMD5Str(String str) { ...原创 2011-11-11 17:06:36 · 106 阅读 · 0 评论 -
JAVA 字节数截取字符串
/** * 题目: * 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 * 但是要保证汉字不被截半个,如"我ABC"4,应该截为“我AB”,输入“我ABC汉DEF”,6, * 应该输出为“我ABC”而不是"我ABC+汉的半个"。 * * * 解释: * 此处的编码方式应该是操作系统默认的GB编码,即汉字占2个字节且第一个字节的最高位是...2011-03-10 13:25:09 · 163 阅读 · 0 评论 -
JAVA实现直接插入排序
一、以下是程序代码:/* 直接接入排序的基本思想是:顺序把待排序的数据元素按其关键字值的大小插入到已排序数据元素子集合的适当位置。 * 子集合的数据元素个数从只有一个数据元素开始逐次增大,当子集合大小最终与集合大小相同时排序完毕。 */public class InsertSort { public static void insertSort(int[] array...2011-02-17 14:07:29 · 110 阅读 · 0 评论 -
用JAVA实现折半查找
以下是用JAVA实现的折半查找法:public class SplitFind { /** * @author hbliu * @param arrayData 数组 * @param searchData 要查找的数据 * @param start 开始下标 * @param end 结束下标 * @return 数据在数组中下标的位置,如果数据不...原创 2011-01-20 09:55:24 · 261 阅读 · 0 评论 -
二叉树中查找算法。
二叉树中查找算法: /** * @author hbliu * @param data * @return 找到的结点 */ public Node searchNode(int data){ return searchNode(this.root,data); } /** * @author hbliu * @param node...原创 2011-01-19 13:19:37 · 206 阅读 · 0 评论 -
JAVA 二叉树的遍历
1.以下是二叉树遍历的算法: /** * @author hbliu */ public void PostOrder(){ System.out.println("后序遍历如下:"); PostOrder(this.root); } /** * @author hbliu * @param node * 功 能:二叉树后序遍历输...原创 2011-01-19 09:52:11 · 124 阅读 · 0 评论 -
JAVA 实现二叉树。
一、创建结点类:package com.test.tree;public class Node { public Node leftNode; public Node rightNode; int data; /** * @author hbliu * @param newData */ public Node(int newData) {...2011-01-18 13:35:00 · 112 阅读 · 0 评论 -
有N个小朋友围成一圈做游戏....用java程序实现
题目要求如下:有N个小朋友围成一圈做游戏,从第一个小朋友起以一开始报数,报到3的小朋友离开游戏,剩下小朋友继续从一开始报数,依次类推循环之剩下最后一人。问:所剩下的人在原来的圈子排第几位置?用Java 编写代码程序如下:public class ShowNum { public static void main(String[] args) { int[] arra...2010-12-04 09:52:00 · 476 阅读 · 0 评论 -
冒泡排序和选择排序
public class Sort { public static void sortArray(int[] oldArray){ int temp=0; for (int i = 0; i < oldArray.length-1; i++) { for (int j = 0; j < oldArray...2010-12-04 09:33:00 · 90 阅读 · 0 评论