自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 ConcurrentHashMap面试题

sizeCtlsizeCtl < 01.-1 表示当前table正在初始化(有线程在创建table数组),当前线程需要自旋等待…2.表示当前table数组正在进行扩容 ,高16位表示:扩容的标识戳 低16位表示:(1 + nThread) 当前参与并发扩容的线程数量sizeCtl = 0:表示创建table数组时 使用DEFAULT_CAPACITY为大小sizeCtl > 01.如果table未初始化,表示初始化大小2. 如果table已经初始化,表示下次扩容时的 触发条件

2021-05-03 15:17:41 308

原创 Hive SQL常考面试题

多列转多行test:result:select a.name, b.subject, b.scorefrom test as alateral view explode( map( '语文',chinese, '数学',math, '英语',english )) b as subject, score;select a.name, b.subject, b.scorefrom test as alateral view explode( str_to_ma

2021-05-03 14:48:40 332

原创 Hive面试题

介绍下Hive?(1)Hive是基于 Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能(HQL),Hive本质是将SQL转换为 MapReduce的任务进行运算。(2)Hive可以通过JDBC、ODBC 等客户端进行访问。Hive的元数据保存在数据库中,元数据信息包含表名,列名,分区等,默认数据库是Derby,不支持多客户端访问,可以将其改为MySQL,支持多客户端访问。(3)Hive内部执行流程:解析器(解析SQL语句)、编译器(把SQL语句编译成Ma

2021-05-03 14:32:23 182

原创 大数据面试题

Hadoop面试题

2021-05-03 14:25:07 93

原创 hadoop面试题

Mapreduce过程map阶段主要分为五个阶段input阶段、map阶段、collect阶段、spill阶段、combine阶段。1.input阶段:客户端将文件分片,发送到jobTracker,jobTracker调用TaskTracker来处理分片数据;在taskTracker中,map任务调用mapper的run方法生成<k,v>键值对,并且把它作为map函数的输入,k就是偏移量,v就是文件一行的内容2.map阶段:将解析出的key、value交给用户写的map()函数处理,并

2021-05-03 14:13:33 128

原创 全排列

46. 全排列class Solution { public List<List<Integer>> permute(int[] nums) { List<List<Integer>> res = new ArrayList<>(); int len = nums.length; if (len == 0) return res; boolean[] used = new b

2021-04-26 21:55:07 80

原创 岛屿问题

200. 岛屿数量class Solution { public int numIslands(char[][] grid) { int count = 0; for (int i = 0; i < grid.length; i++) { for (int j = 0; j < grid[0].length; j++) { if (grid[i][j] == '1') {

2021-04-26 20:55:43 75

原创 线程池学习

1.线程池处理任务流程:ThreadPollExecutor执行execute()方法:1)如果当前运行的线程少于corePollSize,则创建新的线程来执行任务(需要获取全局锁)2)如果运行的线程数等于或者大于corePollSize,则将任务加入BlockingQueue。3)如果BlockingQueue已满,则创建新的线程来处理任务(需要获取全局锁)4)如果创建的新线程使得当前运行的线程数大于maximumPollSize,任务将被拒绝,并调用RejectedExecutionHand

2021-04-04 23:11:24 118

原创 hadoop面试题(一)

1.简述MapReduce整个流程sMapReduce分为两个阶段map和reduce。(1)map阶段1.程序内的Inputformat(默认是TextInputFormat)来读取外部数据,它会调用RecoderReader

2021-04-04 18:33:32 140

原创 RDD分析

RDD操作package org.apache.spark.day02import org.apache.spark.rdd.{MapPartitionsRDD, RDD}import org.apache.spark.{SparkConf, SparkContext}/** * 对RDD进行操作,本质上是对RDD里面的每一个分区进行操作,一个分区其实就是对应一个迭代器 * 对RDD进行map操作,就是对RDD里面的每一个分区对应的迭代器进行map操作 */object MapParti

2021-04-01 13:18:29 224

原创 红黑树Java实现

红黑树代码:package b;public class RBTree <K extends Comparable<K>, V> { // 定义颜色 private static final Boolean RED = true; private static final Boolean BLACK = false; // 定义红黑树的根root private RBNode root; public RBNode getRoo

2021-03-30 22:55:42 163

转载 LongAdder相关

JDK8系列之LongAdder解析LongAdder面试

2021-03-29 23:07:06 97

原创 flume学习笔记

1.flume向hdfs传输数据上传apache-flume-1.9.0-bin.tar.gz到hadoop102 /opt/software下tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /opt/modulecd /opt/module/mv apache-flume-1.9.0 flume-1.9.0启动hdfshdp.sh start# 执行脚本,模拟日志生产# 在/opt/module/datas目录下创建a.logwhile true

2021-03-26 23:14:51 120

原创 大数据组件配置

Zookeeper环境配置[root@hadoop122 ~]# cd /opt/module/zookeeper-3.4.10/conf[root@hadoop122 conf]# mv zoo_sample.cfg zoo.cfg [root@hadoop122 conf]# vim zoo.cfg dataDir=/opt/module/zookeeper-3.4.10/zkData[root@hadoop122 zookeeper-3.4.10]# mkdir zkData[root@

2021-03-26 23:13:20 158

原创 HashMap底层分析

HashMap集合的数据结构-存储过程HashMap<String, Integer> hashMap = new HashMap<>();hashMap.put("张三",18);hashMap.put("李四",18);hashMap.put("张三",20);1、当创建HashMap集合对象时,在jdk1.8之前,构造方法中创建了一个 长度为16的Entry[] table 用来存储键值对数据;在jdk1.8之后,不是在构造方法底层创建数组了,而是在第一次调用put

2021-03-25 21:09:53 102 4

原创 Java基础面试题(一)

谈谈你对Synchronized的理解

2021-03-23 10:09:45 101

原创 ThreadLocal源码分析和面试题难点

ThreadLocal是个啥?threadlocal是一个本地的线程变量,解决了多线程之间的数据隔离。在Thread类中有一个threadLocals 字段, 它用来保存该线程本地变量,这样不同的线程就都有自己的threadLocals ,也就是说每个线程拥有自己独立的数据,保证了数据安全。以前老的JDK版本中在ThreadLocal中维护一个大的map,所有的线程都保存到这个map中,体量比较大。在JDK8中,每个线程维护自己的数据,线程销毁,对应的map会被GC回收。在ThreadLocalMap

2021-03-22 23:07:01 238

原创 Hive学习笔记

启动脚本#!/bin/bashif [ $# -lt 1 ]then echo "No Args Input..." exit ;ficase $1 in"start"){ echo " =================== 启动 hadoop集群 ===================" echo " --------------- 启动 hdfs ---------------" ssh hadoop102 "/opt/mo

2021-03-03 22:51:35 656 1

原创 hadoop3学习笔记

1、准备工作利用模板机 hadoop100,克隆 三台虚拟机 hadoop102 hadoop103 hadoop104# 虚拟网络器VMnet8:NAT模式,DHCP设置选将主机虚拟适配器连接到此网络,子网IP192.168.1.0,子网掩码:255.255.255.0,NAT设置网关192.168.1.2。# 删除掉eth0,将eth1改成eth0,然后再将HWADDR写入ifcfg-eth0[root@hadoop101 ~]# vi /etc/udev/rules.d/70-persist

2021-03-03 22:48:57 240 1

原创 centos7下安装mysql

mysql的rpm包下载地址https://dev.mysql.com/downloads/mysql/5.7.html#downloads下载,mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar 大小520.5M卸载CentOS7.4系统自带的mariadb[root@localhost ~]# rpm -qa|grep mariadbmariadb-libs-5.5.56-2.el7.x86_64[root@localhost ~]# rpm -qa|gre

2021-03-03 22:46:14 99 2

原创 共享模型之无锁(CAS原理)

1 问题提出有如下需求,保证 account.withdraw 取款方法的线程安全原有实现并不是线程安全的为什么不安全?withdraw方法对应的字节码:单核的指令交错多核的指令交错解决思路-锁首先想到的是给 Account 对象加锁解决思路-无锁2 CAS 与 volatile前面看到的 AtomicInteger 的解决方法,内部并没有用锁来保护共享变量的线程安全。那么它是如何实现的呢?其中的关键是 compareAndSet,它的简称就是 CAS (也有 Co

2020-09-06 10:02:01 196

原创 volicate原理

内存屏障(Memory Barrier(Memory Fence))可见性写屏障(sfence)保证在该屏障之前的,对共享变量的改动,都同步到主存当中而读屏障(lfence)保证在该屏障之后,对共享变量的读取,加载的是主存中最新数据有序性写屏障会确保指令重排序时,不会将写屏障之前的代码排在写屏障之后读屏障会确保指令重排序时,不会将读屏障之后的代码排在读屏障之前volatile 原理volatile 的底层实现原理是内存屏障,Memory Barrier(Memory Fen

2020-09-05 10:37:49 941

原创 Synchronized原理

Monitor 原理Synchronized原理 static final Object lock = new Object(); static int counter = 0; public static void main(String[] args) { synchronized (lock) { counter++; }}对应的字节码为:public static void main(java.lang.String[]); descriptor: ([Ljava/

2020-09-04 09:09:26 248

原创 IDEA 整合SSM案例

IDEA整合SSM案例1、环境搭建2、编写配置文件2.1、创建数据库2.2、ssm 项目目录2.3、后端Java代码2.4、配置文件2.5、前端页面3、项目展示4、结束。1、环境搭建IDEA新建一个maven项目导入依赖:<!--依赖:junit 数据库驱动 --> <dependencies> <!--Junit--> <dependency> <groupId>junit&

2020-05-27 15:37:52 330

大数据面试宝典.docx

大数据面试题

2021-05-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除