网络资源面经3

news2024/9/23 3:19:10

文章目录

    • 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. 避免将过大对象定义为静态变量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/392675.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自排查Nginx域名失效

静态分离 用户访问域名——>Nginx——>网关——>微服务 问题: 访问域名后发现不能跳转到首页 检查: 1.检测hosts文件 结果:正确配置域名没有发现问题 2.检查Nginx配置(Nginx总配置、服务配置) Nginx总配置 服…

【需求响应】基于数据驱动的需求响应优化及预测研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…

SpringBoot+Vue中使用AES进行加解密(加密模式等对照关系)

场景 若依前后端分离版本地搭建开发环境并运行项目的教程: 若依前后端分离版手把手教你本地搭建环境并运行项目_霸道流氓气质的博客-CSDN博客 在上面搭建起来前后端架构之后,在前后端分别进行AES方式的加解密。 AndroidJava中使用Aes对称加密的工具类…

内存泄漏分析及规避方法

啥是内存泄漏?内存泄漏就是堆内存中的某些对象,你虽然不再使用它们了,但是垃圾回收器还回收不了他们,长此以往内存就慢慢耗没了。内存泄漏怎么检测?如果你的服务经常占用内存很大,慢慢隔一段时间需要重启一…

Linux学习第十三节-软件包

1.分类 二进制包 rpm包 2.软件包管理 软件包之间的依赖关系 命令格式:rpm [选项] 软件包 常用选项: -q #仅查询软件是否安装 -qa #列出所有已经安装在系统中所有软件,可以和grep过滤指定的软件包 -qi #列出软件包详细信息&#xff0c…

xxl-job启用https访问

一、准备证书 1.进入想要生成证书的目录 2.在路径中输入cmd,点击回车 (1) (2) 3.输入命令keytool -genkeypair -alias "boot" -keyalg "RSA" -keystore "seek.keystore" 4.输入信息&#xff0c…

12_MySQL数据类型

1. MySQL中的数据类型常见数据类型的属性,如下:2. 整数类型2.1 类型介绍整数类型一共有 5 种,包括 TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和 BIGINT。它们的区别如下表所示:2.2 可选属性2.2.1:MM : 表…

【Spring 深入学习】事务的理解以及配置

事务的理解以及配置 1. 概述 1.1 什么是事务 事务(Transaction)指的是一个操作序列,该操作序列中的多个操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位,由D…

springboot之自动配置

文章目录前言一、配置文件及自动配置原理1、配置文件2、yaml1、注解注入方式给属性赋值2、yaml给实体类赋值3、Properties给属性赋值二、springboot的多环境配置四、自动配置总结前言 1、自动装配原理 2、多种方式给属性赋值 3、多环境配置 4、自动配置 一、配置文件及自动配置…

2022年数维杯国际大学生数学建模挑战赛A题自动地震地平线跟踪解题全过程论文及程序

2022年数维杯国际大学生数学建模挑战赛 A题 自动地震地平线跟踪 原题再现: 随着我国经济社会发展,地质工作的重要性也日益提高。地震资料解释是地震勘探工程的一个重要阶段,可以明确油气勘探的地下构造特征,为油气勘探提供良好和…

【NLP相关】attention的代码实现

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

英飞凌Tricore实战系列导读

本文框架 1.系列概述1.1 外设理论及应用介绍1.2 基于TC3xx的MCAL各外设配置开发1.3 基于TC3xx的Davinci工程开发1.4 项目中问题排查经验分享1.5 其他相关话题分享2. 目前已发布系列文章汇总1.系列概述 英飞凌TC3xx以其强大的性能,扩展性,存储及安全性能在汽车电子中扮演着越…

0.基于知识图谱的知识建模详细方案

0.前言 知识图谱以结构化的形式描述客观世界中概念、实体及其关系。实体是客观世界中的事物,概念是对具有相同属性的事物的概括和抽象。本体是知识图谱的知识表示基础,可以形式化表示为,O={C,H, P,A,I},C 为概念集合,如事物性概念和事件类概念,H是概念的上下位关系集…

基于高灵敏度可编程线性霍尔传感器的液压缸位移检测装置(位移传感器)

目前国内工业自动化水平不断提高,工程机械、机床设备等面向自动化的同时,对控制系统的精度要求也越来越严格。在所有使用到液压的机械和设备中,液压缸是必不可少的部件,并且承载着重要的液压转换功能。而液压缸的位移检测在精确控…

Hexo+live2d | 如何把live2d老婆放进自己的博客

参考:Hexo添加Live2D看板娘最新教程live2d-widgetlive2d-widget-models网页/博客Hexo添加live2d游戏角色看板娘,简易添加,碧蓝航线等live2d新型游戏角色模型(moc3)live2d-moc3jsdelivr方法1可以直接去看参考文章的第一部分的第一篇…

【LeetCode】剑指 Offer 22. 链表中倒数第k个节点 p136 -- Java Version

题目链接:https://leetcode.cn/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/ 1. 题目介绍(22. 链表中倒数第k个节点) 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数&…

C语言-基础了解-21-C输入/输出

C输入/输出 一、标准文件 C 语言把所有的设备都当作文件。所以设备(比如显示器)被处理的方式与文件相同。以下三个文件会在程序执行时自动打开,以便访问键盘和屏幕 文件指针是访问文件的方式,本节将讲解如何从键盘上读取值以及…

葫芦娃自动化平台-appium实战

一、配置jar包 右键用压缩工具打开jar 修改application.yml文件 name: test666 改为自己名字 libPath、drivenPath:改成自己电脑已有路径 修改appium.properties 文件,方式和上面一样 #APP名称 注意带apk后续 例:test.apk 此文件请放置在项目根目录下 …

Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required 问题处理

错误日志: 解决办法: 1.查看配置文件是否正确 # MyBatis-plus配置 mybatis-plus:# 配置Mapper.xml映射文件mapper-locations: classpath*:/mapper/*Mapper.xml# 配置MyBatis数据返回类型别名(默认别名是类名)type-aliases-packa…

POSTGRESQL SQL 语句案例,一场由LIMIT 1 引发的“奇怪异像”

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群。最近一段工作…