摘要:
第一:GC是什么? 为什么要有GC?第二:垃圾回收的优点和原理。并考虑2种回收机制。第三:垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?第四:JAVA语言如何进行异常处理第五:java中会存在内存泄漏吗?请简单描述。第六:java中实现多态的机制第七... 阅读全文
摘要:
1.为什么在数据库中要用B树索引而不是Hash索引? MysqlHash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。 但 Hash 索引... 阅读全文
摘要:
将这种单机的工作进行分拆,变成协同工作的集群,这就是分布式计算框架设计。使得计算机硬件类似于应用程序中资源池的资源,使用者无需关心资源的分配情况,从而最大化了硬件资源的使用价值。分布式计算也是如此,具体的计算任务交由哪一台机器执行,执行后由谁来汇总,这都由分布式框架的Master来抉择,而使用者... 阅读全文
摘要:
为什幺要压缩?压缩会提高计算速度?这是因为mapreduce计算会将数据文件分散拷贝到所有datanode上,压缩可以减少数据浪费在带宽上的时间,当这些时间大于压缩/解压缩本身的时间时,计算速度就会提高了。 hadoop的压缩除了将输入文件进行压缩外,hadoop本身还可以在计算过程中将map输出以... 阅读全文
摘要:
倾斜的原因: 使map的输出数据更均匀的分布到reduce中去,是我们的最终目标。由于Hash算法的局限性,按key Hash会或多或少的造成数据倾斜。大量经验表明数据倾斜的原因是人为的建表疏忽或业务逻辑可以规避的。解决思路: Hive的执行是分阶段的,map处理数据量的差异取决于上一个stag... 阅读全文
摘要:
二. SQL语言的分类SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。1. 数据查询语言DQL数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:SELECT FROM WHERE 2 .数据操纵语言DML... 阅读全文
摘要:
hash code、equals和“==”三者的关系 1) 对象相等则hashCode一定相等; 2) hashCode相等对象未必相等。== 是比较地址是否相等,JAVA中声明变量都是引用嘛,不同的引用,可能指向同一个地址。equals 是比较值是否相等。1.如果是基本变量,没有hashcod... 阅读全文
摘要:
HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制... 阅读全文
摘要:
SMB 存在的目的主要是为了解决大表与大表间的 Join 问题,分桶其实就是把大表化成了“小表”,然后 Map-Side Join 解决之,这是典型的分而治之的思想。在聊 SMB Join 之前,我们还是先复习下相关的基础概念。1、Hive 分区表在Hive Select查询中一般会扫描整个表内容,... 阅读全文
摘要:
String是一个类,也可以表示字符串数据类型String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.String 是final类,即不能被继承.作为参数传递时,只是复制了一份引用string ... 阅读全文
摘要:
ava的线程机制,有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 。 操作系统里面是没有守护线程的概念,只有守护进程,但是Java语言机制是构建在JVM的基础之上的,意思是Java平台把操作系统的底层给屏蔽起来,而守护线程机制又是对JVM这样的平台凑合,于... 阅读全文