摘要:
spark编程模型 spark如何工作的? 1、user应用产生RDD,操作变形,运行action操作 2、操作的结果在有向无环图DAG中 3、DAG被编译到stages阶段中 4、每一阶段作为任务的一部分被执行(一个task对应一个partition分块) narrow transformatio 阅读全文
摘要:
mapreduce的限制 适合“一趟”计算操作 很难组合和嵌套操作符号 无法表示迭代操作 由于复制、序列化和磁盘IO导致mapreduce慢 复杂的应用、流计算、内部查询都因为maprecude缺少有效的数据共享而变慢 迭代操作每一次复制都需要磁盘IO 内部查询和在线处理都需要磁盘IO spark的 阅读全文
摘要:
There are multiple answers based on what you are doing with the string.1) Using the string as an id (will not be modified). Passing it in by const ref 阅读全文
摘要:
1,关于动态申请内存 答:内存分配方式三种: (1)从静态存储区域分配:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。 全局变量,static变量。 (2)在栈上创建:在执行函数时,函数内局部变量的存储单元都可以在栈上创建, 函数执行结束时这些存储单元自动被释放。 栈内存分配 阅读全文
摘要:
C++ 反射机制的简单实现 C++并不支持反射机制,只能自己实现。 如果需要实现字字符串到函数到映射,一定要使用到函数指针。 简单实现反射机制,根据字符串来构造相应到类。主要有以下几点: (1) 可以使用map保存字符从到函数指针到映射。 (2) 工厂类提供字符串与函数指针到注册关系。 (3) 工厂 阅读全文
摘要:
多线程编程中,为了保持同步,需要使用互斥锁包含临界区,但是多线程共同使用互斥锁的时候会造成死锁或者争用锁的情况: 出现的原因: 1,系统资源不足; 2,进程运行推进的顺序不合适; 3,资源分配不当等; 如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而 阅读全文
摘要:
C++函数的返回值——返回引用类型&非引用类型 函数的返回主要分为以下几种情况: 1、主函数main的返回值: 允许主函数main没有返回值就可结束;可将主函数main返回的值视为状态指示器,返回0表示程序运行成功,其他大部分返回值则表示失败。 2、返回非引用类型: 函数的返回值用于初始化在调用函数 阅读全文
摘要:
这个作者总结的c++基础,特别好。 可以看看。 http://blog.csdn.net/tham_/article/details/51169792 阅读全文