KM

SparkCore解析

什么是RDD RDD(Resilient Distributed Dataset ) 弹性分布式数据集,是Spark中最基本的数据抽象,Spark中对数据的所有操作都是建立在RDD上的,不外乎创建RDD,转换已有RDD以及调用RDD操作求值,每个RDD都被分为多个分区,这些分区运行在集群的不同节点上,RDD具有流式模型的特点:自动容错、位置感知性调度和可伸缩性。 RDD的基本概念 1....

B树、B+树、红黑树、AVL树

B树 m阶B树的性质 定义任意非叶子结点最多只有m个儿子;且m>2; 根结点的儿子数为[2, m]; 除根结点以外的非叶子结点的儿子数为[m/2, m]; 每个结点存放至少m/2-1(取上整)和至多m-1个关键字;(至少2个关键字) 非叶子结点的关键字个数=指向儿子的指针个数-1; 非叶子结点的关键字:K[1], K[2], …, K[m-1];且K[i] < K[...

Java多线程内容(3)

重量级锁 synchronized synchronized 可以把任意一个非 NULL 的对象当作锁。 1、当锁住的是实例方法时,锁住的这个类实例(this)。 2、当锁住的是静态方法时,锁住的是Class实例。 3、当所用与一个对象时,锁住的是所有以该对象为锁的代码块。 synchronized 是一个重量级操作,需要调用操作系统相关接口,性能是低效的,有可能给线程加锁消耗的...

Java多线程内容(2)

sleep和wait的区别 1、对于 sleep()方法,我们首先要知道该方法是属于 Thread 类中的。而 wait()方法,则是属于Object 类中的。 2、sleep()方法导致了程序暂停执行指定的时间,让出 cpu 该其他线程,但是他的监控状态依然保持着,当指定的时间到了又会自动恢复运行状态。 3、在调用 sleep()方法的过程中, 线程不会释放对象锁。 4、而当调用 ...

快学Scala

Scala基础 声明值和变量 Scala声明变量有两种方式,val和var val/var 变量名 [: 变量类型] = 变量值 val定义的值不可改变,类似于常量 var和val只是标识了引用本身能否指向不同的对象,类似于Java中final定义的引用,不能指向别的引用对象,但是引用对象的属性是可变的。 val的标识并不意味着对象的属性是不变的。因此为了减少对象可变性引起的B...

Java多线程内容(1)

实现多线程的方式 继承Thread类 Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。 启动线程的唯一方法就是通过 Thread 类的 start()实例方法。 start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法。 public class MyThread extends Thread { ...

JAVA集合基础内容

JAVA集合主要包括Collection和Map,Collection包含了List和Set。 Collection: Collection 是集合 List、 Set、 Queue 的最基本的接口。 Iterator:迭代器,可以通过迭代器遍历集合中的数据 Map:是映射表的基础接口 List List是有序的Collection,List的实现类有ArrayList...

JVM知识点

Java内存模型 JVM内存区域 JVM内存区域主要分为线程共享部分(堆、方法区,也称为永久代)、线程私有部分(PC寄存器、本地方法栈、虚拟机栈,也称为方法栈)、直接内存。 JVM各内存区域的作用 堆 该区域存放着所有的对象实例和数组,是GC的主要处理区域。由于JVM使用分代收集算法,因此从GC的角度可以细分为新生代(Eden区、From Survivor区和To Surviv...

HBase环境搭建及初识

环境搭建 1、解压HBase安装包 2、修改配置文件 修改conf/hbase-env.sh #设置jdk路径 export JAVA_HOME=/usr/local/software/jdk1.8.0_191 # 关闭hbase自带的zookeeper export HBASE_MANAGES_ZK=false 修改conf/hbase-site.xml <conf...

Java基础复习

缓存池 new Integer(123) 与 Integer.valueOf(123) 的区别在于: new Integer(123) 每次都会新建一个对象; Integer.valueOf(123) 会使用缓存池中的对象,多次调用会取得同一个对象的引用。 Integer x = new Integer(123); Integer y = new Integer(123);...