一.前述 Spark中资源调度是一个非常核心的模块,尤其对于我们提交参数来说,需要具体到某些配置,所以提交配置的参数于源码一一对应,掌握此节对于Spark在任务执行过程中的资源分配会更上一层楼.由于源码部分太多本节只抽取关键部分和结论阐述,更多的偏于应用. 二.具体细节 1.Spark-Submit提交参数 Options: --master MASTER_URL, 可以是spark://host:port, mesos://host:port, yarn,  yarn-cluster,yarn…
性能测试分享: Jmeter的源码分析main函数参数   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478. 在学习的过程中只有对原理知识有了解,才能对所测试的项目有深入的分析,挖掘,才能发现深层次的问题,所以poptest希望在学习的过程中帮助学员扩展技术知识,开拓技术视野,提升个人技术素养.测试开发的基础是代码能力,而阅读源码和修改源码是必须提高的能力,下面我们看看jm…
在上一篇博文中分析了事件分发的流程及规则,本篇会从源码的角度更进一步理解事件分发机制的原理,如果对事件分发规则还不太清楚的童鞋,建议先看一下上一篇博文 <Android查缺补漏(View篇)--事件分发机制> ,先来看一下本篇的分析思路,一会儿会按照事件传递的顺序,针对以下几点进行源码分析: Activity对点击事件的分发过程 PhoneWindow是如何处理点击事件的 顶级View对点击事件的分发过程 View对点击事件的处理过程 Activity对点击事件的分发过程 通过上一篇博文中我们…
一.简要说明 ABP vNext 当中的审计模块早在 依赖注入与拦截器一文中有所提及,但没有详细的对其进行分析. 审计模块是 ABP vNext 框架的一个基本组件,它能够提供一些实用日志记录.不过这里的日志不是说系统日志,而是说接口每次调用之后的执行情况(执行时间.传入参数.异常信息.请求 IP). 除了常规的日志功能以外,关于 实体 和 聚合 的审计字段接口也是存放在审计模块当中的.(创建人.创建时间.修改人.修改时间.删除人.删除时间) 二.源码分析 2.1. 审计日志拦截器 2.1.1…
前言 在上一篇文章中,我主要是讲解了DAG阶段的处理,spark是如何将一个job根据宽窄依赖划分出多个stage的,在最后一步中是将生成的TaskSet提交给了TaskSchedulerInmpl的. 此次我们从taskScheduler.submitTasks开始讲,深入理解TaskScheduler的运行过程,这个地方是如何将taskSetManager和pool联系在一起的. taskSetManager类继承了Schedulable,这个继承类是pool之间的桥梁,也是调度算法的桥梁.…
(function(window, undefined){ //jQuery code; })(window); 为什么要传入undefined? 1.没有传入undefined: <!DOCTYPE html> <html> <head> <title>Test HTML Page</title> <script type="text/javascript"> var undefined = "你好&q…
文/Tamic http://blog.csdn.net/sk719887916/article/details/53462268 回顾 上一篇介绍了<ReactNative4Android源码分析2: JNI智能指针之介绍篇>JNI智能指针与wrapper class的作用,下面将对它们的具体实现进行分析,并解答上篇提出的几个问题 前文回顾了java object在JNI中的引用对象jobject的3种类型.智能指针自然也有相应的如下类型: global_ref 全局指针与jobject全局…
百篇博客系列篇.本篇为: v57.xx 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视编译全过程 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉坑指南 | 51.c.h.o v57.xx 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视编译全过程 | 51.c.h.o v58.xx 鸿蒙内核源码分析(环境脚本篇) | 编译鸿蒙原来如此简单 | 51.c.h.o v59.xx 鸿蒙内核源码分析(构建工具篇) | 顺瓜摸藤调试鸿蒙构建过程…
本文为原创,转载请注明:http://www.cnblogs.com/gistao/ 背景 上一篇只是细致的把源码分析了一遍,而源码背后的设计思想并没有写,设计思想往往是最重要的,没有它,基本无法做整体性的优化或正确的使用, 但是根据结果反推原因是困难的,也极容易不到位,这里‘磕磕绊绊’写下自己的理解,另外对源码里的‘问题’也写出来. 简单 调试一个多线程程序是比较头疼的,而使用atomic来编写一个正确的多线程数据结构更是困难的,出了问题一般都是随机问题,且等着复现看log吧, 所以简单这个特…