大数据培训:Kafka存储结构及Log清理机制
日志存储结构首先我们来看一张 Kafka 的存储结构图。如上图所示,Kafka 中消息是以主题 topic 为基本单位进行归类的,这里的 topic 是逻辑上的概念,实际上在磁盘存储是根据分区存储的,每个主题可以分为多个分区、分区的数量可以在主题创建的时候进行指定。例如下面 kafka 命令创建了一个 topic 为 test 的主题、该主题下有 4 个分区、每个分区有两个副本保证高可用。./bi
web前端培训:js算法面试es6实现
1、js 统计一个字符串出现频率最高的字母/数字let str = 'asdfghjklaqwertyuiopiaia';const strChar = str => {let string = [...str],maxValue = '',obj = {},max = 0;string.forEach(value => {obj[value
java培训:多个线程同时访问一个类是否有问题
一.synchronized1.多个线程同时访问同一个类实例对象的两个同步方法:package synchronizedTest;public class Example1 {private int num = 0 ;(省略getter.setter,后同)public synchronized void method1() {System.out.println("同步方法
java培训:JVM的体系结构
1. JVM 由哪些区域构成?由类加载器和运行时数据区构成;运行时数据区又分为线程私有和线程共享两大区域,线程私有的包括程序计数器、虚拟机栈和本地方法栈,线程共享的包括堆和方法区。2. 类加载器的作用是什么?加载 class 文件,生成类的结构信息,将其存放在方法区。 3. 类加载器有哪些种类以及它们之间的关系是什么?Bootstrap ClassLoader,加载 lib 下面的类;E
web前端培训:2022前端基础面试题
CSS部分什么是外边距重叠?重叠的结果是什么?外边距重叠就是margin-collapse。在CSS当中,相邻的两个盒子(可能是兄弟关系也可能是祖先关系)的外边距可以结合成一个单独的外边距。这种合并外边距的方式被称为折叠,并且因此结合成的外边距称为折叠外边距。 折叠结果遵循下列计算规则:两个相邻的外边距都是正数时,折叠结果是它们两者之间较大的值。两个相邻的外边距都是负数时,折叠结果是两者
大数据培训:Spark 性能调优详解
调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。数据倾斜发生时的现象绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩余两三个task却要一两个小时
大数据培训:Spark高频面试题汇总
1. 通常来说,Spark与MapReduce相比,Spark运行效率更高。请说明效率更高来源于Spark内置的哪些机制?spark是借鉴了Mapreduce,并在其基础上发展起来的,继承了其分布式计算的优点并进行了改进,spark生态更为丰富,功能更为强大,性能更加适用范围广,mapreduce更简单,稳定性好。主要区别(1)spark把运算的中间数据(shuffle阶段产生的数据)存放在内存,
web前端培训:Vue3 调度系统的深度剖析
前言什么是调度?调度这一概念最开始应该来自于操作系统。由于计算机资源的有限性,必须按照一定的原则,选择任务来占用资源。操作系统引入调度,目的是解决计算机资源的分配问题,因为任务是源源不断的,但 CPU 不能同时执行所有的任务。如:对部分优先级高的任务(如:用户交互需要立即反馈),需要先占用资源/ 运行,这就是一个优先级的调度。Vue 的调度是什么?有什么不同?Vue 的调度,行为上也是按照一定的原
web前端培训_哪些学习方法对零基础比较有用
随着前端开发技术的不断发展与更新,前端开发行业所需要的技术开发人才越来越多,前端开发技术学习的知识也是越来越多,想要成为一名优秀的前端开发工程师是需要更为系统的去学习前端开发技术知识,那有哪些学习方法对小白学习有帮助呢? 1.学习HTML和CSS有些小伙伴会问为什么要学习HTML和CSS?是因为基础很重要。无论小伙伴选择前端培训还是自学的方式都是需要学习的,没有办法绕过它,这
java培训应该怎么学习才能找合适的工作
小伙伴想要通过学习java开发成功入行开发行业,是需要更为系统的学习才行,现阶段java开发技术在多个开发领域已经得到了广泛的应用,其在开发行业内的发展空间还是很大的,而且企业对java开发技术人才的需求量也在逐渐的增加,相应的市场上java开发岗位也在逐渐增多,通过不断的努力学习,想要达到高薪就业还是有可能的。 小伙伴想要高薪就业,前期基础知识的积累和实战经验的积累很重要。对于零基础的
java培训:Java类加载机制的理解
谈谈“会”的三个层次对一门语言的学习,这里谈谈我理解的“会”的三个层次: 第一层:了解这门语言的语法、写法,我把它叫做 hello world 级别;第二层:了解这门语言的优劣势以及它的生态,了解这门语言的能力范围,我把它叫做 应用 级别;第三层:了解这门语言的底层运行机制,这有利于对程序进行调优,以及当程序遇到了比较罕见的问题时能够从根上分析解决它。我把它叫做 掌握 级别。
大数据培训:Hive日常操作分享
Hive 表基本操作1.创建表CREATE TABLE if NOT EXISTS table_name(column_name1 string comment '字段名的释义',column_name2 int comment '字段名的释义',column_name3 int comment '字段名的释义',column_name4
java培训:Netty的内存管理
前言正是 Netty 的易用性和高性能成就了 Netty,让其能够如此流行。而作为一款通信框架,首当其冲的便是对 IO 性能的高要求。不少读者都知道 Netty底层通过使用Direct Memory,减少了内核态与用户态之间的内存拷贝,加快了IO速率。但是频繁的向系统申请Direct Memory,并在使用完成后释放本身就是一件影响性能的事情。为此,Netty内部实现了一套自己的内存管
web前端开发Nodejs的C++ 拓展开发_前端培训
Nodejs 模块机制首先在开始之前先简单介绍一下 Nodejs 里面的模块引入机制。1. Node.js 核心模块例如 fs、net、path 这样的模块,代码在 nodejs 源码(lib目录下)中,通过 API 来暴露给开发者,这些核心模块都有自己的预留标识,当 require() 函数传入的标识和核心模块相同时,就会返回核心模块的 API。const fs = require(
大数据开发join的运行原理_大数据培训
基本描述Hive的join过程,即hive将sql的join转化为mapreduce来执行的过程。关键词主要有三个:执行计划、Shuffle join和map join。因此回答本问题时,可以先回答hive是怎样执行sql的,再对join的过程进行说明。当遇到让你结合例子来说明join过程的问题时,大数据培训根据总结选择性回答即可。总结回答1 简单解释hive解析sql到mrok,首先
web前端开发nodejs基本原理_前端培训
一. nodejs背景先来说说nodejs最常被提到的几个关键词,“单线程”,“非阻塞异步IO”,“事件循环”。接下来主要来通过这几个关键字总结一下nodejs的内在原理,以及引申出的一些问题。 二. nodejs是单线程吗?如果说nodejs是单线程语言,可以想象一下,一个单实例的nodejs的服务【关注尚硅谷,轻松学IT】器同时接受100个用户请求时,第100个用户的请求
java面试jvm调优的意义_java培训
1. 压力测试的理解,xxx的性能10w/s,对你有意义么?没有那家卖瓜的会说自己家的不甜,同样,没有哪个开源项目愿意告诉你在对它条件最苛刻的时候压力情况是多少,一般官网号称给你看的性能指标都是在最理想环境下的,毫无参考意义。举个栗子,Redis官网压测的例子,256字节的读速度11w/s,写速度8.1w/s,都知道redis优点是多变的数据结构,string、List、hash、se
尚硅谷MyBatis新版视频教程发布
人是这样的——一旦有了对别人的期待,就可能承受期待带给你的痛苦。真实的世界很残酷,永远不要把期待放在别人身上,因为别人没有义务要实现你的期待。除非……这个“别人”是尚硅谷!总有人间一两风,填我十万八千梦。众多谷粉期盼已久,神超老师闭门狂撸,等了好久终于等到今天,盼了好久终于把梦实现:尚硅谷MyBatis新版视频教程发布! B站直达:传送门:https://www.bilibi
java培训:JVM垃圾回收
1. 为什么要进行垃圾回收?创建的对象没用时也不进行回收的话,堆内存很快就会被消耗殆尽,所以需要把一些没有用的对象清理掉。2. JVM GC 分为哪几种?分为三种,对新生代进行的垃圾回收叫 minor GC,也叫YGC;对老年代进行的垃圾回收叫 major GC;同时对新生代和老年代进行的垃圾回收叫 full GC,简称 FGC。 3. 如何判断一个对象是否可以被回收?有两种
前端培训:Vue3计算属性比普通函数好的原因
写在前面计算属性是Vue开发中一个非常实用的API,它允许用户自定义一个计算方法,然后根据一些依赖的响应式数据计算出新值并返回。当依赖发生变化时,计算属性会自动重新计算获取新值,使用方便。我们看出计算属性本质上是对依赖的计算,为什么不直接使用函数呢?在Vue3中的计算属性又是如何实现的呢? 计算属性 computed我们先简单看个例子,我们看到再设置了计算属性addOne后,前端培训直接