fork 进程四个要素: 1. task_struct 2. 可执行的代码 3. 独立的地址空间 4. 独立的堆栈 内存复制与COW copy-on-write fork之后两个进程共用同一内存 COW基于页而不基于段(进程) fork与多线程 线程:调用for... ...
分类:
其他好文 时间:
2018-05-10 23:28:38
阅读次数:
189
"memcpy" 将一块指定大小字节数的内存复制到另一块内存中,注意两块内存不可重叠 "memmove" 与memcpy类似,但两块内存可以重叠 "memcmp" 比较两块内存指定字节数大小的数据是否一样,返回0表示一样 "memset" 将某块内存指定字节的内容都设置为value的内容 一般情况下 ...
分类:
其他好文 时间:
2018-02-24 21:54:34
阅读次数:
208
jvm垃圾回收目前都是采用分代回收机制,old代和new代分别采用不同算法。 按照基本回收策略分:复制、标记-清除算法、标记-压缩算法 复制算法(copying) 将内存分成两块,每次只使用其中一块,垃圾回收时,将标记的对象拷贝到另外一块中,然后完 全清除原来使用的那块内存。复制后的空间是连续的。复 ...
分类:
其他好文 时间:
2018-01-28 00:03:36
阅读次数:
129
(1)new和delete用法 如下几行代码: 第一行这个new表达式在自由存储区中分配创建了一个整形对象,并返回一个指向该对象的地址来初始化指针pi。第二行同一行,只是对指针pi指向的地址的值进行了初始化为0。第三行初始化为1024。 当动态创建的对象用完后必须释放内存,避免造成内存泄漏,可以用d ...
分类:
其他好文 时间:
2017-12-01 23:35:06
阅读次数:
246
package com.iloveu.xxx;public class MergeSort {static final int SIZE = 15;static void mergeOne(int a[],int b[],int n,int len){int i,j,k,s,e;s=0;while( ...
分类:
编程语言 时间:
2017-11-19 12:35:49
阅读次数:
208
一。为什么初始化列表比构造函数效率更高? 1.因为C++规定数据成员的初始化发生在进入构造函数体之前,所以数据成员会先进行默认构造函数,然后进行复制构造函数进行赋值 2.所以使用初始化列表进行初始化不用进行数据成员的默认构造函数,所以更加高效 3.必须使用初始化列表:const成员,引用成员,初始化 ...
分类:
其他好文 时间:
2017-11-01 21:48:30
阅读次数:
138
Librdkafka是c语言实现的apachekafka的高性能客户端,为生产和使用kafka提供高效可靠的客户端,并且提供了c++接口 性能: Librdkafka 是一款专为现代硬件使用而设计的高性能库,它尝试将内存复制保持在最小,可以让用户决定是需要高吞吐量还是低延迟的服务,性能调优的两个最重 ...
分类:
编程语言 时间:
2017-09-26 19:21:51
阅读次数:
521
System.arraycopy方法:如果是数组比较大,那么使用System.arraycopy会比较有优势,因为其使用的是内存复制,省去了大量的数组寻址访问等时间 复制指定源数组src到目标数组dest。复制从src的srcPos索引开始,复制的个数是length,复制到dest的索引从destP ...
分类:
编程语言 时间:
2017-09-21 15:54:54
阅读次数:
158
多个线程之间是不能直接传递数据交互的,它们之间的交互只能通过共享变量来实现。 在多个线程之间共享类的一个对象,这个对象是被创建在主内存(堆内存)中,每个线程都有自己的工作内存(线程栈),工作内存存储了主内存对象的一个副本,当线程操作对象时,首先从主内存复制对象到工作内存中,然后执行代码改变了值,最后 ...
分类:
编程语言 时间:
2017-09-02 18:04:44
阅读次数:
112
程序片段(01):01.MemCpy.c 内容概要:内存拷贝 #include <stdio.h> #include <stdlib.h> #include <memory.h> //memcpy: // 将内存数据依照字节数从一片儿内存复制到还有一片儿内存 // 并返回拷贝成功之后的地址 void ...
分类:
其他好文 时间:
2017-08-08 15:11:20
阅读次数:
166