排序:
默认
按更新时间
按访问量

spark 2.3源码分析之ShuffleDependency

ShuffleDependency 成员变量 - ShuffleHandle 在ShuffleDependency中创建ShuffleHandle. 如前面的博客所述,有以下三种ShuffleHandle: BypassMergeSortShuffleHandle BypassMer...

2018-09-04 15:50:13

阅读数:49

评论数:0

spark2.3源码分析之in-memory collection

AppendOnlyMap 概述 一个只可以添加数据的hash table的实现。它的key值永远不会删除,而每个key的value值可能会改变。 该hash table使用开放探测方法中的二次探测法保存数据,所以内部只有一个数组的数据结构。 该hash table的大小始终为2的幂次方,...

2018-08-20 16:31:27

阅读数:71

评论数:0

spark 2.3源码分析之SortShuffleWriter

SortShuffleWriter 概述 SortShuffleWriter它主要是判断在Map端是否需要本地进行combine操作。如果需要聚合,则使用PartitionedAppendOnlyMap;如果不进行combine操作,则使用PartitionedPairBuffer添加数据存放...

2018-08-20 16:30:54

阅读数:73

评论数:0

spark 2.3源码分析之ShuffleInMemorySorter

  PackedRecordPointer 概述 PackedRecordPointer对象用一个64bit的long型变量来记录record信息: [24 bit partition number][13 bit memory page number][27 bit offset in ...

2018-08-14 11:26:15

阅读数:62

评论数:0

spark源码分析之ShuffleExternalSorter

概述 ShuffleExternalSorter是专门用于sort-based shuffle的external sorter。 传入的record会被追加到data page。当所有的record都已经插入该sorter时,或者当前线程的shuffle memory已经到达阈值时,会使用Sh...

2018-08-09 10:56:29

阅读数:90

评论数:0

spark源码分析之UnsafeShuffleWriter

概述  SortShuffleManager会判断在满足以下条件时调用UnsafeShuffleWriter,否则降级为使用SortShuffleWriter: Serializer支持relocation。这是指Serializer可以对已经序列化的对象进行排序,这种排序起到的效果和先对数据...

2018-08-06 15:22:07

阅读数:147

评论数:0

spark源码分析之BypassMergeSortShuffleWriter

概述 spark1.6以后,取消了基于hash的shuffle,只剩下基于sort的shuffle。现在只存在以下三种shuffle writer: BypassMergeSortShuffleWriter UnsafeShuffleWriter SortShuffleWriter 其中,...

2018-08-06 11:56:12

阅读数:104

评论数:1

jvm源码分析之oop-klass对象模型

概述 HotSpot是基于c++实现,而c++是一门面向对象的语言,本身具备面向对象基本特征,所以Java中的对象表示,最简单的做法是为每个Java类生成一个c++类与之对应。 但HotSpot JVM并没有这么做,而是设计了一个OOP-Klass Model。这里的 OOP 指的是 Ordi...

2018-08-01 18:51:37

阅读数:47

评论数:0

spark源码分析之TaskMemoryManager

概述 TaskMemoryManager用于管理每个task分配的内存。 在off-heap内存模式中,可以用64-bit的地址来表示内存地址。在on-heap内存模式中,通过base object的引用 和该对象中64-bit 的偏移量来表示内存地址。 当我们想要存储其它结构内部的数据结构...

2018-07-31 15:41:57

阅读数:84

评论数:0

FutureTask源码分析

Future接口 概述 Future接口代表异步计算的结果,它提供了检查计算是否完成,取消计算执行,等待计算完成并检索计算结果的方法。 如果你出于可取消计算执行的目的使用Future,但又不想返回结果,可以使用Future<?>数据类型,并使用nu...

2018-07-29 22:22:28

阅读数:40

评论数:0

spark源码分析之ReadAheadInputStream

源码来自:ReadAheadInputStream 概述 ReadAheadInputStream实现了从当前buffer读取的data耗尽时,切换到另外一个buffer读取数据,并启动任务从底层输入流异步预读data,放入耗尽的buffer中。它通过2个buffer来完成——active b...

2018-07-28 11:29:25

阅读数:40

评论数:0

AbstractQueuedSynchronizer源码分析

  doAcquireShared()方法 该方法在共享模式以不响应中断的方式阻塞等待获取锁,实现如下: 1、将当前线程封装成节点入队; 2、在死循环中调用park方法。第一次循环(自旋、acquire loop),或者被唤醒从park方法返回后,会判断前驱节点是否是头节点,以及调用tryAc...

2018-07-24 18:02:07

阅读数:29

评论数:0

Condition源码分析

Condition接口 概述 condition与Lock的实现类结合使用。 如果Lock替换了synchronized方法和语句的使用,则Condition将替换Object监视方法(wait,notify和notifyAll)的使用。 condition,也称为condition que...

2018-07-20 16:08:54

阅读数:42

评论数:0

jvm源码分析之interrupt()

概述 线程的thread.interrupt()方法是中断线程。中断一个线程意味着在线程完成它的任务之前,停止它当前正在执行的操作。 如果线程堵塞在object.wait、Thread.join和Thread.sleep,将会清除线程的中断状态,并抛出InterruptedException;...

2018-07-19 11:54:41

阅读数:93

评论数:0

pthread_cond_signal

pthread_cond_broadcast, pthread_cond_signal - broadcast or signal a condition 语法 #include <pthread.h> int pthread_cond_broad...

2018-07-17 11:20:11

阅读数:40

评论数:0

pthread_cond_wait

pthread_cond_timedwait()和pthread_cond_wait()函数会阻塞在条件变量上。它们应和互斥锁(mutex lock)一起使用。pthread_cond_wait内部操作这些函数以原子方式释放互斥锁,并导致调用线程阻塞条件变量cond。这里的原子性考虑到了被其它线程...

2018-07-16 15:22:01

阅读数:26

评论数:0

java NIO之MappedByteBuffer

简书 占小狼前言java io操作中通常采用BufferedReader,BufferedInputStream等带缓冲的IO类处理大文件,不过java nio中引入了一种基于MappedByteBuffer操作大文件的方式,其读写性能极高,本文会介绍其性能如此高的内部实现原理。内存管理在深入Ma...

2018-07-15 21:07:56

阅读数:47

评论数:0

spark源码分析之NioBufferedFileInputStream

NioBufferedFileInputStream是spark实现的一种新的字节流,它既支持内部缓冲区,又支持nio读取文件,使用direct buffer避免java堆与native内存之间的数据拷贝。在Java jdk中没有可供直接使用的具备以上2个功能的字节流。sun.nio.ch.Cha...

2018-07-10 18:21:48

阅读数:51

评论数:0

Java NIO之DirectByteBuffer

DirectByteBuffer是Java用于实现堆外内存的一个重要类,我们可以通过该类实现堆外内存的创建、使用和销毁。

2018-07-10 18:04:47

阅读数:46

评论数:0

spring-data-mongodb之MongoTemplate 添加数据

首先创建一个实体类,我们这边用文章来做实体类,定义如下字段:注意实体类要建在之前配置转换目录的包下面,上篇文章applicationContent.xml里的配置,base-package路径对了框架才会将实体类与mongodb中的集合对应起来。<!-- 自动扫描以下包的有D...

2018-07-08 23:29:57

阅读数:166

评论数:0

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