JVM的内存结构如下:线程私有内存区:程序计数器一块较小的内存空间,它是当前线程所执行的字节码的行号指示器,字节码解释器工作时通过改变该计数器的...
数据库最基本两个功能:数据的存储和数据的查询。 当我们写入数据时,数据库可以存储数据;当我们需要访问数据时,数据库可以给我们想要的数据。 数据库...
【情况一】: java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不...
分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式...
ReentrantLock 的实现是基于AQS的ReentrantLock主要实现方式主要是Lock与unlock。对应的方法自然是tryLoc...
stage的上游的shuffle write之后,下游的stage以shuffle read 开始。 override def compute(...
本文主要介绍sort shuffle manager write的过程:之前在stage提交的过程中设计ShuffleMapTask的提交。sh...
之前我们看有在sparkcontext中看到runJob的方法。我们每一个出发action的操作最终都会转化成为Job。 def runJob...
在上一篇文章中我们看到stage在获取完依赖之后开始提交final stage private def submitStage(stage: ...