04 2014 档案
摘要:HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。1. 简介HBase是一个分布式的、面向列的开源数据库,源于google的一篇论文《bigtab...
阅读全文
摘要:hbase-0.96.x相对hbase-0.94.x的改变hadoop:hadoop-2.2.0hbase:hbase-0.96.01.org.apache.hadoop.hbase.client.Put 取消了无参的构造方法 Put类不再继承Writable类 0.94.6时publ...
阅读全文
摘要:mysql索引类型 normal, unique, full text问题1:mysql索引类型normal,unique,full text的区别是什么?normal:表示普通索引unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为uniquefu...
阅读全文
摘要:1.搞清什么是执行计划数据库根据sql语句和相关表的统计信息,做出的一个查询方案,方案是查询优化器自动分析产生2.同一sql语句写法,不要存在大小写不一的特点3. 不要把SQL语句写的太复杂4. 使用临时表来暂存中间结果5.模糊查找,除非必要,否则不要在关键词前面加%,否者会查找整个表
阅读全文
摘要:EhCache 的主要特性有:快速;简单;多种缓存策略;缓存数据有两级:内存和磁盘,因此无需担心容量问题;缓存数据会在虚拟机重启的过程中写入磁盘;可以通过 RMI、可插入 API 等方式进行分布式缓存;具有缓存和缓存管理器的侦听接口;支持多缓存管理器实例,以及一个实例的多个缓存区域;提供 Hiber...
阅读全文
摘要:三、线程的几种状态 在Java当中,线程通常都有五种状态,创建、就绪、运行、阻塞和死亡。 第一是创建状态。在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态。 第二是就绪状态。当调用了线程对象的start方法之后,该线程就进入了就绪状态,但是此时线程调度程序还没有把该线程设...
阅读全文
摘要:HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。HTTP协议的请求方法有G...
阅读全文
摘要:布隆过滤器 (Bloom Filter)是由Burton Howard Bloom于1970年提出,它是一种space efficient的概率型数据结构,用于判断一个元素是否在集合中。在垃圾邮件过滤的黑白名单方法、爬虫(Crawler)的网址判重模块中等等经常被用到。哈希表也能用于判断元素是否在集...
阅读全文
摘要:信息指纹:通过提取一个信息的特征,通常是一组词或者一组词+权重,然后根据这组词调用特别的算法例如MD5算法,将之转化为一组代码,这组代码就是标识这段信息的指纹;在抓取阶段,蜘蛛程序为了避免重复抓取,会建立起一张hash表,将抓取的链接存储,我们先来假定直接存储网址,互联网上有5000亿个网页,假定要...
阅读全文
摘要:因为操作系统的很多操作会消耗系统的物理资源,例如创建一个新进程时,要做很多底层的细致工作,如分配物理内存,从父进程拷贝相关信息,拷贝设置页目录、页表等,这些操作显然不能随便让任何程序都可以做,于是就产生了特权级别的概念,与系统相关的一些特别关键性的操作必须由高级别的程序来完成,这样可以做到集中管理,...
阅读全文
摘要:public class ReconstructionTree { private static class TreeNode { int val; TreeNode left; TreeNode right; public TreeNo...
阅读全文
摘要:AOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时...
阅读全文
摘要:转载:http://my.oschina.net/bluesky0leon/blog/132361从编程语言层面BIO | NIO | AIO 以Java的角度,理解,linux c里也有AIO的概念(库),这些概念不知道什么原因被炒火起来,这里只从Java角度入手。 BIO,同步阻塞式IO,简单...
阅读全文
摘要:转载:http://my.oschina.net/shiw019/blog/92771HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系统。一、HDFS的主要设计理念1、存储超大文件 这里的“超大文件”是指几百MB、GB甚至TB级别的...
阅读全文
摘要:1)已知某个文件内包含一些电话号码,每个号码为8位数字,统计不同号码的个数。8位最多99 999 999,大概需要99m个bit,大概10几m字节的内存即可。 (可以理解为从0-99 999 999的数字,每个数字对应一个Bit位,所以只需要99M个Bit==1.2MBytes,这样,就用了小小的1...
阅读全文
摘要:一致性Hash算法一致性hash算法是在1997年,麻省理工学院设计的,解决因特网中的热点问题满足四个条件:平衡性,单调性,分散性,负载均衡场景:比如你有N个cache服务器,如何将一个对象object,映射到N个cache中普通hash算法:1一个cache服务器m down掉了(在实际应用中必须...
阅读全文
摘要:分布式存储解决的是单机存储的性能, 单点故障问题,容量一开始到还在其次, 但随着应用规模的发展, 要解决容量也得必须分布式了.分布式存储解决容量问题即可扩展性的方式, 就是数据分片.可扩展性是分布式的已经解决的问题, 任何关于分布式存储的现存问题的讨论, 都不会再涉及可扩展性.数据分片也能部分的解决...
阅读全文
摘要:普通查询: select * from user where id>10;查询最大值:select id,max(salary),min(value),count(*) from userwhere id>10;分组查询:select department, max(salary) as col f...
阅读全文
摘要:狮子A小狮子a,老虎B小老虎b,狼C小狼c,只有大的和小狮子会划船,求如何才能过河开始:ABCc ab b(a过河)ABC ac bc(a过河)Aa BC Cc(Bb返回)Bb Aa Aa(Cc返回)bc BC ABC(a返回)b ac ...
阅读全文
摘要:并发控制机制 最常用的处理多用户并发访问的方法是加锁。当一个用户锁住数据库中的某个对象时,其他用户就不能再访问该对象。加锁对并发访问的影响体现在锁的粒度上。比如,放在一个表上的锁限制对整个表的并发访问;放在数据页上的锁限制了对整个数据页的访问;放在行上的锁只限制对该行的并发访问。可见行锁粒度最小,...
阅读全文
摘要:在Java编程语言和环境中,即时编译器(JITcompiler,just-in-time compiler)是一个把Java的字节码(包括需要被解释的指令的程序)转换成可以直接发送给处理器的指令的程序。当你写好一个Java程序后,源语言的语句将由Java编译器编译成字节码,而不是编译成与某个特定的处...
阅读全文
摘要:1.ji什么是Java的反射? 要让Java程序能够运行,就得让Java类被Java虚拟机加载。Java类如果不被Java虚拟机加载就不能正常运行。正常情况下,我们运行的所有的程序在编译期时候就已经把那个类被加载了。Java的反射机制是在编译时并不确定是哪个类被加载了,而是在程序运行的时候才加载、探知、自审。使用的是在编译期并不知道的类。这样的编译特点就是java反射2.Java反射的作用?假如有两个程序员,一个程序员在写程序的时需要使用第二个程序员所写的类,但第二个程序员并没完成他所写的类。那么第一个程序员的代码是不能通过编译的。此时,利用Java反射的机制,就可以让第一个程序员在没有得到第
阅读全文
摘要:本题要求时间复杂度为log(m+n),不让合并用额外的空间:算法描述:1 选定两个数组A,B并计算长度,根据长度和m+n是偶数还是奇数,分为两种查找中位的方式;如果和为偶数:Value[(m+n)/2]+Value[(m+n)/2+1]如果为奇数:Value[(m+n)/2]2 然后通过迭代计算中位数通过假定A长度小于B,然后选择每个数组的中间k/2元素,如果A的中位数,小于B的中位数,则A中位数前面的元素都小于value(k),这样重新选择A的起始点,并减去k值为k-pa;如果,B中的小,这让B的长度减去pb,然后重新开始;重视让A的长度小于B的长度;k每次递减,m,n分别表示数组剩余长度;
阅读全文
摘要:package com.bupt.acm.leetcode;public class SurroundedRegions { public void solve(char[][] board){ boolean up,down,left,right; for(int i=1;i<board.length-1;i++){ for(int j=1;j<board[0].length-1;j++){ up=down=left=right=false; if(board[i][j]=='...
阅读全文
摘要:There areNchildren standing in a line. Each child is assigned a rating value.You are giving candies to these children subjected to the following requirements:Each child must have at least one candy.Children with a higher rating get more candies than their neighbors.package com.bupt.acm.leetcode;impo
阅读全文
摘要:该算法更为巧妙,不用保存原始链表的映射关系,构建新节点时,指针做如下变化,即把新节点插入到相应的旧节点后面:1、构建新节点random指针:new1->random = old1->random->next, new2-random = NULL, new3-random = NULL,new4->random = old4->random->next2、恢复原始链表以及构建新链表:例如old1->next = old1->next->next, new1->next = new1->next->next本人额原算法超时:
阅读全文
摘要:本文算法对于:大数据aaaaaaaaaaaaaaaaaaaaaaa;无法通过时间越界Last executed input:"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab", ["a","aa","aaa","aaaa","aaaa
阅读全文
摘要:public class LRULinkedHashMap extends java.util.LinkedHashMap { public final int maxCapacity; public LRULinkedHashMap(int capacity){ this.maxCapacity=capacity; } @Override protected boolean removeEldestEntry(java.util.Map.Entry eldest) { // TODO Auto-generated method stu...
阅读全文
摘要:二、三种遍历方式的非递归实现 为了便于理解,这里以下图的二叉树为例,分析二叉树的三种遍历方式的实现过程。1、前序遍历的非递归实现根据先序遍历的顺序,先访问根节点,再访问左子树,后访问右子树,而对于每个子树来说,又按照同样的访问顺序进行遍历,上图的先序遍历顺序为:ABDECF。非递归的实现思路如下:对于任一节点P,1)输出节点P,然后将其入栈,再看P的左孩子是否为空;2)若P的左孩子不为空,则置P的左孩子为当前节点,重复1)的操作;3)若P的左孩子为空,则将栈顶节点出栈,但不输出,并将出栈节点的右孩子置为当前节点,看其是否为空;4)若不为空,则循环至1)操作;5)如果为空,则继续出栈,但不输出,
阅读全文

浙公网安备 33010602011771号