Spark是用于大规模数据处理的快速通用的计算引擎。 相较MR快的原因:其任务中间结果存在内存中,在迭代运算中尤为明显,DAG的设置。 架构说明: Dirver:负责节点通讯,task分发,结果回收 Worker:资源管理的从节点 Master:资源调度的主节点 Dirver:负责节点通讯,task ...
分类:
其他好文 时间:
2019-11-01 10:00:23
阅读次数:
98
一、jvm内存模型 JVM 内存模型主要分为堆、程序计数器、方法区、虚拟机栈和本地方法栈 1、堆 1.1、堆是 JVM 内存中最大的一块内存空间。 1.2、该内存被所有线程共享,几乎所有对象和数组都被分配到了堆内存中。 1.3、堆被划分为新生代和老年代,新生代又被进一步划分为 Eden 和 Surv ...
分类:
编程语言 时间:
2019-10-31 01:18:47
阅读次数:
120
JAVA内存区域介绍 程序计数器: 线程私有,很小的内存空间,可以看做是当前线程所执行的字节码的行号指示器; 每个线程都有一个独立的程序计数器,各个线程之间的计数器相互不影响,独立存储; 如果线程执行的是Java 方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址,如果是一个Native方法, ...
分类:
编程语言 时间:
2019-10-30 21:10:39
阅读次数:
110
如何判断对象是否可回收 引用计数法 1、概念:给对象中添加一个引用计数器,每当有一个地方引用他时,计数器的值+1,当引用失效的时候,计数器 1,任何时刻计数器为0的对象就是不可以在被使用的对象。 2、缺点:无法解决对象循环引用的问题(如下图) 可达性分析法 1、概念:垃圾回收根节点(GCRoot)向 ...
分类:
其他好文 时间:
2019-10-30 21:10:21
阅读次数:
103
有些驱动程序需要延迟比较长的时间,即长于一个时钟滴答; 如果想把执行延迟若干个时钟滴答,或者对延迟的精度要求不高,最简单的实现方法就是一个监视jiffies计数器的循环;这种忙等待的实现方法通常具有下面形式,其中j1是延迟终止的jiffies值: 对cpu_relax的调用将以架构相关的方式执行,其 ...
分类:
系统相关 时间:
2019-10-29 19:51:47
阅读次数:
90
1、 简述JVM垃圾回收算法分类 常用的垃圾收集算法 JVM的内存结构包括五大区域:程序计数器、虚拟机栈、本地方法栈、堆区、方法区。其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生、随线程而灭,因此这几个区域的内存分配和回收都具备确定性,就不需要过多考虑回收的问题,因为方法结束或者线程结束时, ...
分类:
其他好文 时间:
2019-10-29 14:10:14
阅读次数:
86
三种循环语句 程序的结构: 顺序结构 分支结构 循环结构:重复 while(){}循环 while:条件为true时,执行 循环的三要素: 次数的记录:计数器 停止(执行)条件:布尔值 次数的改变:改变计数器(随着循环改变) 注意:计数器提前声明,计数器的改变要在循环中,条件准备 do{}while ...
分类:
其他好文 时间:
2019-10-27 16:42:51
阅读次数:
70
运行时数据区域 jdk 1.8之前与之后的内存模型有差异,方法区有变化(https://cloud.tencent.com/developer/article/1470519)。 java的内存数据区域划分: 程序计数器 虚拟机栈 本地方法栈 堆 方法区 程序计数器(Program Counter ...
分类:
编程语言 时间:
2019-10-27 12:54:47
阅读次数:
93
1 <script> 2 3 4 //一、求一组数中的所有数的和和平均值 5 // var arr1 = [10,20,30]; 6 // //计数器思想 7 // var sum = 0; 8 // for(var i=0;i<arr1.length;i++){ 9 // sum += arr1[... ...
分类:
编程语言 时间:
2019-10-25 16:47:37
阅读次数:
107
1.CountDownLatchCountDownLatch.wait()会使当前线程阻塞,直到CountDownLatch中的计数器递减完毕后继续执行。publicclassCountDownLatchDemo{privatefinalstaticLoggerlog=Logger.getLogger(AtomicIntegerCyclicBarrierDemo.class);publicstat
分类:
编程语言 时间:
2019-10-24 19:31:34
阅读次数:
66