副本机制

1.首先说一下函数的副本机制

看一段简单的代码

 1 # include<stdio.h>
 2 # include<stdlib.h>
 3
 4 int add(int n, int m)
 5 {
 6     int z = n + m;
 7     return z;
 8 }
 9
10 int main()
11 {
12     printf("%d\n", add(1, 2));
13 }

当函数返回后,内存已经回收,仍能打印值,这是因为函数的副本机制

2.结构的有副本

 1 # include<stdio.h>
 2 # include<stdlib.h>
 3
 4 struct myStruct
 5 {
 6     int a[5];
 7     int n;
 8 };
 9
10 void change(struct myStruct my1)
11 {
12     my1.n = 0;
13     my1.a[0] = 1000;
14     printf("%d\n", &my1);
15 }
16
17 int main1()
18 {
19     struct myStruct my1 = { { 1, 2, 3, 4, 5 }, 100 };
20     printf("%d,%d\n", my1.a[0], my1.n);
21     printf("%d\n", &my1);
22     change(my1);
23     printf("%d,%d\n", my1.a[0], my1.n);
24     system("pause");
25 }

结果:(可以发现没有改变,地址不同)

结论:

1.除了数组没有副本机制,其他都有副本机制

2.结构体有副本机制

3.结构体中就算有数组,也有副本机制

4.结构体数组,单个有副本机制

时间: 2024-08-04 03:41:42

副本机制的相关文章

HDFS副本机制&amp;负载均衡&amp;机架感知&amp;访问方式&amp;健壮性&amp;删除恢复机制&amp;HDFS缺点

副本机制 1.副本摆放策略 第一副本:放置在上传文件的DataNode上:如果是集群外提交,则随机挑选一台磁盘不太慢.CPU不太忙的节点上:第二副本:放置在于第一个副本不同的机架的节点上:第三副本:与第二个副本相同机架的不同节点上:如果还有更多的副本:随机放在节点中: 2.副本系数 1)对于上传文件到HDFS时,当时hadoop的副本系数是几,那么这个文件的块副本数就有几份,无论以后怎么更改系统副本系数,这个文件的副本数都不会改变,也就是说上传到HDFS系统的文件副本数是由当时的系统副本数决定的

关于副本机制

转自:http://www.cnblogs.com/sxmcACM/p/4127114.html 1.首先说一下函数的副本机制 看一段简单的代码 1 # include<stdio.h> 2 # include<stdlib.h> 3 4 int add(int n, int m) 5 { 6 int z = n + m; 7 return z; 8 } 9 10 int main() 11 { 12 printf("%d\n", add(1, 2)); 13

kafka副本机制之数据可靠性

一.概述 为了提升集群的HA,Kafka从0.8版本开始引入了副本(Replica)机制,增加副本机制后,每个副本可以有多个副本,针对每个分区,都会从副本集(Assigned Replica,AR)中,选取一个副本作为Leader副本,所有读写请求都由Leader副本处理,其余的副本被称为Follwer副本,其会从Leader副本拉取消息更新到本地.因此,Follower更像是Leader的热备. 一般情况下,同一个分区的多个副本会被均匀的分配到集群中的不同Broker上,当leader副本所在

使用指针做形参来解决函数的副本机制

/*在函数里面改变一个外部变量,就需要变量的地址 如果是数据,需要指向数据的指针存储数据的地址 如果是指针,就需要指向指针的指针存储指针的地址 //二级指针一般用于改变一个字符串指针的指向,指向不同的字符串 */ #include<stdio.h> #include<stdlib.h> char str1[20] = "notepad";char str2[20] = "tasklist";/*   把这两个字符数组作为全局变量 */ //

C语言副本机制

1.除了数组外,其他都有副本机制(包括结构体数组) 2.结构体作为参数具有副本机制,结构体返回值也有副本机制 . 3.函数的参数和返回值都有他的副本机制. #include<stdio.h> int a=10,b=20; static int sum(int aa,int bb){ printf("the aa is 0x%p,%d",&aa,aa); printf("\nthe bb is 0x%p,%d",&bb,bb); aa=10

大数据:Hadoop(HDFS 的设计思路、设计目标、架构、副本机制、副本存放策略)

一.HDFS 的设计思路 1)思路 切分数据,并进行多副本存储: 2)如果文件只以多副本进行存储,而不进行切分,会有什么问题 缺点 不管文件多大,都存储在一个节点上,在进行数据处理的时候很难进行并行处理,节点可能成为网络瓶颈,很难进行大数据的处理: 存储负载很难均衡,每个节点的利用率很低: 二.HDFS 的设计目标 Hadoop Distributed File System(HDFS):源于Google 的 GFS 论文: 设计目标 分布式存储:根据需要,水平横向增加节点: 运行在普通廉价的硬

Kafka副本机制

一.什么是副本机制: 通常是指分布式系统在多台网络互联的机器上保存有相同的数据拷贝 二.副本机制的好处: 1.提供数据冗余 系统部分组件失效,系统依然能够继续运转,因而增加了整体可用性以及数据持久性 2.提供高伸缩性 支持横向扩展,能够通过增加机器的方式来提升读性能,进而提高读操作吞吐量 3.改善数据局部性 允许将数据放入与用户地理位置相近的地方,从而降低系统延时. 三.kafka的副本 1.本质就是一个只能追加写消息的日志文件 2.同一个分区下的所有副本保存有相同的消息序列 3.副本分散保存在

(29)ElasticSearch分片和副本机制以及单节点环境中创建index解析

1.分片和副本机制 1.index包含多个shard 2.每个shard都是一个最小工作单元,承担部分数据:每个shard都是一个lucene示例,有完整的建立索引和处理请求的能力 3.增减节点时,shard会自动在nodes中负载均衡 4.primary shard和replica shard,每个document只存在于某个primary shard以及其对应的replica shard中,不可能存在于多个primary shard 5.replica shard是primary shard

mongoDB的副本机制

主机192.168.99.80 [[email protected] ~]# grep -v "^#" /etc/mongod.conf | grep -v "^$" bind_ip = 192.168.99.80 fork = true pidfilepath = /var/run/mongodb/mongod.pid logpath = /var/log/mongodb/mongod.log unixSocketPrefix = /var/run/mongodb