`
jefferent
  • 浏览: 80118 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表

数据快递员-Sqoop

    Hadoop目前来讲,多数还是应用于处理线下数据,其处理的数据来源大多还是传统的关系型数据库,在这种应用场景下,Hadoop平台类似于一个数据处理工厂,输入是原材料(原始数据),而输出是生产的产品(分析或挖掘后的数据)。由谁来运输原材料和产品呢,我们可以自建车队,自定义物流系统,但是有这么一家优质的快递公司-Sqoop提供了物流服务,而且是免费的(开源),怎能不用之?所以,这篇文章主要介绍Sqoop的基本原理和相关用法。     Sqoop是一个开源工具,它允许用户将数据从关系型数据库抽取到Hadoop中,用于进一步的处理。抽取出的数据可以被MapReduce程序使用,也可以被其他类似 ...
线程主要用来表示异步,而不是并发。  
由于搜索引擎的泛滥,网络爬虫如今已经成为全球互联网的一大公害。除了专门做搜索的Google,Yahoo,微软,百度以外,几乎每个大型门户网站都有自己的搜索引擎,搜狐,腾讯,网易。再加上十分流氓的社区搜索奇虎等等,国 ...
 java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建 java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并发构建块,开发人员可以 ...
JAVA继承后的初始化顺序是一个考点,其初始化顺序如下所示: (1)将父类的静态变量初始化 (2)将子类的静态变量初始化 (3)将父类的属性初始化 (4)执行父类的构造方法 (5)将子类的属性初始化 (6)执行子类的构造方法  

笔试题(8)

宏和inline的区别? 1. inline函数和宏都是在程序出现的地方展开,不是通过函数调用实现的。 2. 宏展开的时间和inline函数不同,inline函数是在编译期间完成展开,宏是在预编译间展开,如果从宏观上看,可以认为是在编译期间展开。 3. inline函数可以在编译期间要对参数类型进行检测,宏不进行检测 4. inline可以不展开,宏一定要展开。因为inline指示对编译器来说,只是一个建议,编译器可以选择忽略该建议,不对该函数进行展开。 5. inline可以有正规的返回值,宏不行。

红黑树简介

一、红黑树介绍     红黑树由Rudolf Bayer于1972年发明,当时被称为平衡二叉B树(symmetric binary B-trees),1978年被Leonidas J. Guibas 和 Robert Sedgewick改成一个比较摩登的名字:红黑树。   二、红黑树与AVL树比较     红黑树AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。自从红黑树出来后,AVL树就被放到了博物馆里,据说是红黑树有更好的效率,更高的统计性能。    红黑树和AVL树的区别:红黑树使用颜色来标识结点的高度,它所追求的是局部平衡而不是AV ...

笔试套题(1)

(1)什么事UML,分为哪两类?     答:统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。     统一建模语言 (UML)是非专利的第三代建模和规约语言。 UML是在开发阶段,说明,可视化,构建和书写一个面向对象软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。    UML图分为两类:   静态图:是描述对象之间可能存在的关系的种类,以 ...
1. 输出1234567*(2^987654321)的后10位数     答案是(1234567*(2^987654321))%(10^10).关键是怎么算出这个数利用取模操作。取模满足分配率:(a*b)%c=((a%c)*(b%c))%c可将2^987654321分为2^m*2^m*...*2^n(m>=n). 2. Java中ArrayList中插入一个元素的平均复杂度是多少?     O(1). 回答得不好。可见数据结构:线性表/数组那一节。 面完马上又打进来一个,还是那边的人,不过是另一个。可能是协调的问题,两个人同时对我进行二面。 1. 两个集合,怎么求交集?   ...

位图法

位图法定义       所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。     例如,要判断一千万个人的状态,每个人只有两种状态:男人,女人,可以用0,1表示。那么就可以开一个int数组,一个int有32个位,就可以表示32个人。操作的时候可以使用位操作。 位图法应用   一、给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中   申请512M的内存   一个bit位代表一个unsigned int值   读入40亿个数,设置 ...

触发器的作用

触发器 触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。 触发器可以查询其他表,而且可以包含复杂的 SQL 语句。它们主要用于强制服从复杂的业务规则或要求。例如,您可以根据客户当前的帐户状态,控制是否允许插入新订单。 触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。 ...
算法思想:使用两个指针first和second,只是first每次走一步,second每次走两步,这样当second达到链表尾部时,first刚好在链表的中间。 static Link GetMiddleOne(Link head) { Link first = head; Link second = head; while (first != null && first.Next != null) { first = first.Next.Next; second = second.Next; } return second; ...
    这道题目有两种算法,但无论哪种算法,都要考虑单链表少于n个元素的情况。这里假设要寻找倒数第4个元素。    第1种算法,建立两个指针,第一个先走4步,然后第2个指针也开始走,两个指针步伐(前进速度)一致。 static Link GetLast4thOne(Link head) { Link first = head; Link second = head; for (int i = 0; i < 4; i++) { if (first.Next == null) throw new Exception("Less than 4 element ...

单链表反转

这道题目有两种算法,既然是要反转,那么肯定是要破坏原有的数据结构的: 算法:我们需要额外的两个变量来存储当前节点curr的下一个节点next、再下一个节点nextnext: public static Link ReverseLink1(Link head) { Link curr = head.Next; Link next = null; Link nextnext = null; //if no elements or only one element exists if (curr == null || curr.Next == null) { re ...

线程阻塞

线程的阻塞     为了解决对共享存储区的访问冲突,Java 引入了同步机制,现在让我们来考察多个线程对共享资源的访问,显然同步机制已经不够了,因为在任意时刻所要求的资源不一定已经准备好了被访问,反过来,同一 ...
Global site tag (gtag.js) - Google Analytics