现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2016-06-30 18:58 工业·编程 ⁄ 共 5386字 暂无评论
Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。 Zookeeper 从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者...
阅读全文
Zookeeper的基本概念分为以下几个: 集群角色、会话、数据节点、版本、watcher、ACL权限控制。 1.集群角色 在Zookeeper搭建的集群环境中,集群的角色分为Leader、Follower、Observer。 其中Leader服务器是整个Zookeeper集群工作机制中的核心,Follower服务器是Zookeeper集群状态的跟随者,Observer服务器充当一个观察者的角色。 我们这里了解以上几个角色即可,在后面的总结中,我们将深入探讨这些角色在实际中的运用。 2.会话 ...
阅读全文
2016-06-28 18:10 工业·编程 ⁄ 共 2021字 暂无评论
1.背景 随着互联网技术的高速发展,企业对计算机系统的计算,存储能力要求越来越高,最简单的证明就是出现了一些诸如:高并发,海量存储这样的词汇。在这样的背景下,单纯依靠少量高性能主机来完成计算任务已经不能满足企业的需求,企业的IT架构逐步从集中式向分布式过渡,所谓的分布式是指:把一个计算任务分解成若干个计算单元,并且分派到若干计算机中去执行,最后汇总结算结果的过程。 分布式系统需要解决的核心任务就是,...
阅读全文
2016-06-27 07:01 工业·编程 ⁄ 共 2365字 暂无评论
1. 什么是BOOT? BOOT其实是你按开机键之后,在电脑微软操作系统运行之前就自动运行的一段小程序。表象上就是windows引导画面之前那些黑屏蓝屏的英文那个阶段就是BOOT了。通过这段小程序,它就可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 2. 什么是BIOS? BIOS它其实也是在电脑里的微软系统运行之前,但是BOOT出现后加载运行的一个预启...
阅读全文
df -T 只可以查看已经挂载的分区和文件系统类型。 Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/sda1 ext4 20642428 3698868 15894984 19% / tmpfs tmpfs 32947160 0 32947160 0% /dev/shm fdisk -l 可以显示出所有挂载和未挂载的分区,但不显示文件系统类型。 Disk /dev/sda: 299.4 GB, 299439751168 bytes 255 heads, 63 sectors/track, 36404 cylinders Units = cylinders of ...
阅读全文
虚继承和虚函数是完全无相关的两个概念。 虚继承是解决C++多重继承问题的一种手段,从不同途径继承来的同一基类,会在子类中存在多份拷贝。这将存在两个问题:其一,浪费存储空间;第二,存在二义性问题,通常可以将派生类对象的地址赋值给基类对象,实现的具体方式是,将基类指针指向继承类(继承类有基类的拷贝)中的基类对象的地址,但是多重继承可能存在一个基类的多份拷贝,这就出现了二义性。   虚继承可以解决多种...
阅读全文
2016-06-24 21:02 工业·编程 ⁄ 共 3735字 暂无评论
    为了谈应用,先谈谈使命。模板元编程的根在模板。模板的使命很简单:为自动代码生成提供方便。提高程序员生产率的一个非常有效的方法就是“代码复用”,而面向对象很重要的一个贡献就是通过内部紧耦合和外部松耦合将“思想”转化成一个一个容易复用的“概念”。但是面向对象提供的工具箱里面所包含的继承,组合与多态并不能完全满足实际编程中对于代码复用的全部要求,于是模板就应运而生了。     ...
阅读全文
在计算机编程实现中有常常两种方法:一曰迭代(iterate);二曰递归(recursion)。 从“编程之美”的角度看,可以借用一句非常经典的话:“迭代是人,递归是神!”来从宏观上对二者进行把握。 从概念上讲,递归就是指程序调用自身的编程思想,即一个函数调用本身;迭代是利用已知的变量值,根据递推公式不断演进得到变量新值得编程思想。 从直观上讲,递归是将大问题化为相同结构的小问题,从待求解的问题出发,一直分解到已经已知...
阅读全文
最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误: (.text+0x13): undefined reference to `func'     关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。 1.  链接时缺失了相关目标文件(.o) 测试代码如下:     然后编译。 gcc -c test.c ...
阅读全文
文章目录 1、为什么需要用for(; ;)代替while(1)? 2、先进行循环内部的计算,然后进行循环外面的计算 3、尽可能在循环的时候只运行本层的数据 4、编译的时候头文件不要相互包含,尽量简单 5、尽量不要使用乘除,多使用移位操作 6、所谓SIMD指令就是指用一条指令,完成多个字节数据的操作 7、尽量采用查询的方式,少采用计算的方式,注意分析经验数据 8、if-else语句的合理使用 9、多使用...
阅读全文