1 / 14
文档名称:

大数据笔试真题集锦——HUE,Java面试题.doc

格式:doc   大小:116KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

大数据笔试真题集锦——HUE,Java面试题.doc

上传人:蓝天 2021/10/12 文件大小:116 KB

下载得到文件列表

大数据笔试真题集锦——HUE,Java面试题.doc

文档介绍

文档介绍:大数据笔试真题集锦一一HUEJava面试题
我会不间断的更新,维护,希望可以对正在找大数据工作的朋友 们有所帮助.
第十五,十六章目录
第十五章HUE
Hue是CDH专门的一套web管理器,它包括3个部分hue ui, hue server, hue db o
hue提供所有的CDH组件的shell界面的接口。
你可以在hue编写mr,查看修改hdfs的文件,管理hive的元数据,运行Sqoop, 编写Oozie工作流等大量工作。
hue也可以支持原生Hadoop,但是效果不如CDH的
第十六章Java
final类不能继承、重写,final方法不能重写,final属性不能变
JVM
组成
JVM内存大致分为五个区域:方法区、虚拟机栈、方法栈、堆、程序计数器 程序计数器:记录的是正在执行的虚拟机字节码指令的地址,通过改变程序计数 器,java程序才能按顺序、循环、跳转等流程执行各个方法。该区域是所有区域 中唯一没有定义内存溢出错误的区域。
虚拟机栈:java为每个方法保存状态信息的区域,这里存放的是每个方法中的局 部变量、方法出口、动态链接等,著名的栈溢出错误就是在这里发生。
本地方法栈:java可以执行非java函数,这些函数的状态信息就保存在这个区域, 因此这个区域也有可能发生栈溢出。
堆:一块线程共享的存放对象实例和数组的内存区域,线程安全问题的根本原因, 也是整个内存区域中最大的一块。
方法区:存储已被加载的类信息、常量、静态变量等,著名的常量池就位于这里。
类加载机制
当程序主动使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、 连接、初始化3个步骤来对该类进行初始化。如果没有意外,JVM将会连续完成3 个步骤,所以有时也把这个3个步骤统称为类加载或类初始化。
加载:将类的class文件读入到内存,创建一个类对象的过程,加载的方法有三种:
new的方式加载、调用类反射的方法加载、调用类加载器的加载方法加载,其中 使用类加载器加载的对象不会执行其中的静态语句块。
java采用双亲委派机制来使用加载器,双亲委派就是先让父类加载器加载类,父 类不行才动用子类加载器加载,这种方式可以节省子类加载器的载入时间。
类加载完成后,java会对类进行验证,检验类的内部结构是否正确,诸如数组越 界这类错误就是在这里发生的,这里也是整个加载过程最费时的部分。
验证完成后,最后就是真正的初始化,java会先初始化静态部分,再初始化实例 部分,在这基础上java又会优先初始化父类对象,最后才是子类对象。
整个类的加载到此就结束了。
类加载器
类的加载器也有三种:启动类加载器、扩展类加载器和系统类加载器。
启动类加载器加载java的核心类,扩展类加载jre的jar包,系统类加载器才会加 载我们指定的jar包,除此之外我们也可以自定义加载器。
GC
JVM内存按回收机制可分为年轻代和老年代,年轻代分为eden区和多个幸存区, 老年代则不分区。
无论是YGC还是Full GC,都会使java线程暂停,但是YGC暂停的事件极短,因 此基本是针对减少FullGC的方向优化。可以通过参数指定分配的最大堆大小、初 始堆大小、年轻代大小、比值、指定并发收集器、并行收集器等等。
YGC
新的对象会存入eden区,当eden区满了放不下的时候,会对年轻代的内存进行 垃圾回收,eden中有用的对象移到幸存区,清空eden区,称为YGC。
Full GC
某个对象经过多次YGC后依然存活,会移植到老年代。当老年代满了放不下的时 候,就会触发FullGC,对整个内存进行一次垃圾回收。
无论是YGC还是Full GC,都会使java线程暂停,但是YGC暂停的事件极短,因 此基本是针对减少Full GC的方向优化。
可以通过参数指定分配的最大堆大小、初始堆大小、年轻代大小、比值、指定并发 收集器、并行收集器等等。
(算法原理)
引用计数法:对象每被引用一次就+1,为0时回收,速度很快但是无法识别循环 引用
标记清除法:遍历所有对象,标记没被引用的,然后统一清除。缺点是效率低、清 理后内存不连续。
复制清除法:将内存分为两块,其中一块写满后,遍历对象标记有用的对象复制到 另一块,然后把这一块清理,这样复制的内容很少而且内存始终连续,缺点是始终 需要有一块内存空出来用于复制。
标记整理法:遍历出有用的对象,将这些对象全都向一端移动,然后清理其它空间, 一样能腾出连续的内存,但是移动对象的成本比复制大得多。
GC采用分代收集法:年轻代采用复制清除法,每当eden满时,就遍历出eden和 幸存者1区的有用对象复制到幸存者2区,然后清空重新写起。因此无论