09 2020 档案

数据的列式与行式存储以及大数据的存储格式
摘要:一、数据的列式与行式存储 1、列式存储是相对于传统关系型数据库的行式存储来说的。两者的区别就是如何组织表;从下图可知,行式存储是将数据的一条记录(多列组成)存储起来的,但是列式存储是将数据的一条记录的各列分开进行存储。 2、区别 (1)数据写入区别 1)行存储的写入是一次完成。可以保证写入过程的成功 阅读全文

posted @ 2020-09-23 15:04 hdc520 阅读(1851) 评论(0) 推荐(0) 编辑

Spark的BlockManager数据存储与管理机制
摘要:一、概述 BlockManager是整个Spark底层负责数据存储与管理的一个组件,Driver和Executor的所有数据都由相应节点上的BlockManager进行管理。 (1)driver端上的存储与管理 Driver上有BlockManagerMaster,负责对各个节点上的BlockMan 阅读全文

posted @ 2020-09-16 10:46 hdc520 阅读(359) 评论(0) 推荐(0) 编辑

java1.8的新特性
摘要:一、lambda表达式与函数式接口 (1)lambda表达式:lambda表达式本质上是一段匿名内部类即接口使用匿名方式创建对象,也可以是一段可以传递的代码 //匿名内部类 Comparator<Integer> cpt = new Comparator<Integer>() { @Override 阅读全文

posted @ 2020-09-11 10:37 hdc520 阅读(319) 评论(0) 推荐(0) 编辑

树和图详解
摘要:(1)二叉树的性质 1、在二叉树的第 i 层上至多有2^(i-1)个节点 2、深度为 k 的二叉树至多有2^(k)-1个节点 3、对于任何一个二叉树,若其叶子节点数为n1,度为2的节点数为n2,则n1=n2+1 树的节点树=所有节点度之和+1 4、具有n个节点的完全二叉树的深度为floor(log( 阅读全文

posted @ 2020-09-08 09:49 hdc520 阅读(1351) 评论(0) 推荐(0) 编辑

类加载器与双亲委派模型
摘要:1、类加载过程 Class 文件需要加载到虚拟机中之后才能运行和使用,系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。 2、类加载器 1、BootstrapClassLoader(启动类加载器) :负责加载 %JAVA_HOME%/lib 阅读全文

posted @ 2020-09-04 21:11 hdc520 阅读(170) 评论(0) 推荐(0) 编辑

java定位常见性能
摘要:(1)CPU占满 1、使用top查看CPU占满的进程 2、通过执行top -Hp 32805 查看Java线程情况 3、执行 printf '%x' 32826 获取16进制的线程id,用于dump信息查询,结果为 803a。最后我们执行jstack 32805 |grep -A 20 803a 来 阅读全文

posted @ 2020-09-04 20:54 hdc520 阅读(151) 评论(0) 推荐(0) 编辑

Java反射
摘要:(1)反射机制:在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的反射机制。 反射就是把java类中的各种成分映射成一个个的Java对象,例如:一个类有:成员变量、方 阅读全文

posted @ 2020-09-04 20:37 hdc520 阅读(211) 评论(0) 推荐(0) 编辑

kafka与rabbitmq的区别
摘要:(1)开发语言不同 1、RabbitMQ是高并发的erlanng语言开发。 2、kafka是基于Scala和Java语言开发,主要用于处理活跃的流式数据,大数据量的数据处理上。 (2)结构不同 1、RabbitMQ采用AMQP(Advanced Message Queuing Protocol,高级 阅读全文

posted @ 2020-09-03 17:03 hdc520 阅读(7799) 评论(0) 推荐(0) 编辑

导航