网络资源面经3
创始人
2024-05-29 18:23:12
0

文章目录

    • hive 与 mysql 的区别
    • 类加载器的种类,有什么机制,机制有何用处
    • MapReduce实现wordcount流程
    • full GC 和 old GC 区别
      • 避免频繁的Full GC

hive 与 mysql 的区别

  1. 数据存储位置
    hive数据存储在hdfs上,mysql的数据存储在本地磁盘中。
  2. 数据规模
    hive支持很大规模数据的计算,mysql支持的数据规模很小。
  3. 执行延迟
    mysql的执行延迟较低,hive的执行延迟较高,但这是有条件的,当数据量足够体现出hive的并行计算的优势时,hive的延迟更低。
  4. 数据更新
  5. mysql经常需要对数据进行更新,hive不建议对数据进行更新

类加载器的种类,有什么机制,机制有何用处

在这里插入图片描述

  1. 启动类加载器(引导类加载器 Bootstrap ClassLoader)
    这个类加载器是使用c/c++实现的,是JVM的一部分(JVM也是c/c++实现的)。主要负责加载java的核心类库(JAVA_HOME/jre/lib/rt.jar、resources.jar或sun.boot.class.path路径下的内容),例如System,String等。只有把这些类都加载到内存中我们才可以使用。它不是java实现的,所以并不是ClassLoader的子类。还用于加载其他加载器,并被指定为他们的父类加载器。出于安全考虑,启动类加载器只加载java,javax,sun等开头的类。
  2. 扩展类加载器(Extension ClassLoader)
    由java语言编写,由sun.mics.Launcher$ExtClassLoader实现。扩展类加载器派生自ClassLoader。父类加载器为Bootstrap ClassLoader。主要加载java.ext.dirs目录下的类或JDK安装目录jre/lib/ext子目录下的类。如果用户将自定义类放在该目录下,也会由扩展类加载器加载
  3. 应用程序类加载器(系统类加载器 AppClassLoader)
    由java语言编写,由sun.mics.Launcher$AppClassLoader实现。系统类加载器派生自ClassLoader。父类加载器为ExtClassLoader。负责加载classpath目录或系统属性java.class.path下的指定类库。该类是程序中默认的类加载器,java应用中的类一般都由它来加载。
  4. 用户自定义类加载器
    通常的程序加载都由上面三种类加载器配合加载。而在某些特定的时候需要用户自定义加载器来定制类的加载方式。
    自定义类加载器的目的:
    (1)隔离加载类
    (2)修改类加载的方式
    (3)扩展加载源
    (4)防止源码泄露

MapReduce实现wordcount流程

  1. 自定义Mapper
    继承Mapper类,重写map方法,参数列表(偏移量,文本,输出K,输出V)
  2. 自定义Reducer
    继承Reducer类,重写reduce方法,参数列表(输入K,输入V,输出K,输出V)
  3. 编写Driver驱动类
    ①通过Job.getInstance(conf)获取由conf配置的Job
    ②注册驱动类
    ③关联Mapper类和Reducer类
    ④设置Mapper类输出KV类型
    ⑤设置Reducer类输出KV类型
    ⑥设置输出输出路径
    ⑦提交Job

full GC 和 old GC 区别

full GC(重GC)由Minor GC(轻GC) 和 Major GC(old GC) 组成。当新创建的对象无法存放在Eden区时会进行Minor GC(99%都是Minor GC)。随后再次存放,依然放不下,尝试直接放入S0区,S0区也放不下,尝试直接放入老年代,也放不下,这时就会触发Major GC清理老年代的内存,放得下,成功,放不下,OOM。所以触发Major GC通常伴随着Minor GC,合起来称作full GC

避免频繁的Full GC

  1. 避免定义过大的对象(数组)
  2. 避免将过大对象定义为静态变量

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...