自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 分布式与一致性哈希

                                     分布式与一致性哈希相关博客:https://www.cnblogs.com/lpfuture/p/5796398.html一致性哈希算法:一致性哈希算法主要用来解决分布式的问题。我们定义一个圆环(0-2^32-1)我们根据一定的哈希函数计算出数据的key然后利用hash结构存储相应的val或这key-val,如果...

2018-07-25 20:00:45 221

原创 memcached高性能分布式内存对象缓存系统(1)

         memcached高性能分布式内存对象缓存系统(1)相关安装博客:http://www.cnblogs.com/phpstudy2015-6/p/6683170.html引言:首先我们要知道在linux x86等系统下,我们的服务器是一个硬件的概念,服务大多情况下特别如数据库memcach等开源软件是以守护进程的形式在服务器上运行的。memcached是一个系统的总称...

2018-07-25 17:13:36 545

原创 数据链路介绍

                                        数据链路介绍名词解释:LCP:一种物理层链接,我们上网拨号时候必须建立的链接。ISP:可以理解为一个网络运营商:移动,电信。********************************************(1)点对点协议PPP(1对1)*特点:1.简单:不要纠错,不要流量控制,不要序号。2.封装成帧:制定帧的定...

2018-07-12 14:18:55 1137

转载 负载均衡

这是1998年一个普通的上午。一上班,老板就把张大胖叫进了办公室,一边舒服地喝茶一边发难:“大胖啊,我们公司开发的这个网站,现在怎么越来越慢了? ”还好张大胖也注意到了这个问题,他早有准备,一脸无奈地说: “唉,我昨天检查了一下系统,现在的访问量已经越来越大了,无论是CPU,还是硬盘、内存都不堪重负了,高峰期的响应速度越来越慢。”顿了一下,他试探地问道:“老板,能不能买个好机器? 把现在的‘老破小...

2018-07-07 14:38:39 133

转载 C 默认类型转换

C 默认类型转换  2011-01-05 22:52:06|  分类: 后台开发 |  标签:c类型转换  |字号 订阅对于C语言来说,默认的语句和表达式操作通常应该只使用一种类型的变量和常量,但是往往在实际开发中,我们会混合的去使用不同类型的数据进行运算,为了满足这个需求,C里面也配置了一个默认的规则集合来自动完成类型转换。其大概的转换规则如下:1.当出现在表达式里时,有符号和无符号的char和...

2018-07-06 21:14:03 773

原创 CAS与无锁队列

                                    CAS与无锁队列1.无锁同步CAS:当我们如果只是由于一条代码出现了线程安全问题,比如说多个线程都要往一个队列中的尾部插入一个元素,那么我们的tail->next=newnode;使我们一条必要的代码。但是当我们拿到tail的时候,在执行这条指令前,其他线程率先在原来的队列尾部插入元素,这就会引起tail的失效,因为ta...

2018-07-05 17:33:47 1214

原创 死锁预防与解决

                                    死锁预防与解决*预防银行家算法:银行家算法是最著名的死锁避免算法。它提出的思想是:把操作系统看做是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最...

2018-07-04 18:16:33 178

原创 死锁与饥饿

                                        死锁与饥饿死锁:死锁的产生一定是我们在为了确保同步多线程多进程的时候为临界资源加锁(互斥锁,信号量)造成的。因为一但加锁就会有不可剥夺的资源产生,这也是死锁产生的最重要的条件。*死锁产生的必要条件:互斥(临界资源):一个资源某一时刻只能一个进程占用不可抢占(锁的本质):别人用着没用完你不能抢占有与请求:占有一个资源时候...

2018-07-04 16:11:17 597

原创 生产者消费者问题

                                生产者消费者问题1.生产者消费者简单程序#include<stdio.h>#include<string.h>#include<stdlib.h>#include<unistd.h>#include<pthread.h>#define MAX_STOCK 20//仓库容量ch...

2018-07-04 15:40:53 210

原创 互斥量简介

                                        互斥量简介Linux条件变量:(1)头文件和函数       #include <pthread.h>       pthread_cond_t cond = PTHREAD_COND_INITIALIZER;       int    pthread_cond_init(pthread_cond_t   ...

2018-07-04 14:27:38 171

原创 栈的应用--逆波兰表达式

                栈的应用----逆波兰(后缀)表达式逆波兰表达式,它的语法规定,表达式必须以逆波兰表达式的方式给出。逆波兰表达式又叫做后缀表达式。这个知识点在数据结构和编译原理这两门课程中都有介绍,下面是一些例子:正常的表达式 逆波兰表达式a+b ---> a,b,+a+(b-c) ---> a,b,c,-,+a+(b-c)*d ---> a,b,c,-,d,*,...

2018-07-03 15:44:19 502

原创 二叉树的相关程序

                            二叉树的相关程序前序建立void precreate(Binary &root, string &str, int &i){ if (str.length() == 0) { return; } else if (str[i] == '#') { i++; root = NULL; } else { roo...

2018-07-02 22:11:25 399

原创 链表中的几个问题以及特殊链表

                        链表中的几个问题以及特殊链表*****判断两个单链表是否相交,如果相交,给出相交的第一个点(两个链表都不存在环)。比较好的方法有两个:一、将其中一个链表首尾相连,检测另外一个链表是否存在环,如果存在,则两个链表相交,而检测出来的依赖环入口即为相交的第一个点。二、如果两个链表相交,那个两个链表从相交点到链表结束都是相同的节点,我们可以先遍历一个链表,直...

2018-07-02 21:59:40 438

原创 排序算法以及复杂度介绍

                            排序算法以及复杂度介绍各种排序复杂度选泽:     o(n)好   o(N^2)平均    o(n^2)坏  辅助空间o(1)不稳直接插入: o(n)好   o(N^2)平均    o(n^2)坏  辅助空间o(1)稳定冒泡:     o(n)好   o(N^2)平均    o(n^2)坏  辅助空间o(1)稳定堆排序:   o(nlog n...

2018-06-28 17:18:45 154

原创 字符串的一些函数和问题

                                字符串的一些函数和问题strcat(str1,str2){} 字符拼接函数。char*p="hello";char q[]="hello";这里p是在rodata上存放的hello如果拿p作为实参是有问题的。所以传入的都是q。因为q这样用数组保存结尾会自动加上/0的。str1的空间必须足够的大。strcat在高版本用strcat_s,...

2018-06-28 14:33:54 163

原创 io复用

                                    io复用五种io:io复用阻塞i/o非阻塞i/o信号驱动i/o异步i/o前4种是同步io最后一种才是真正的异步io同步IO和异步IO的区别就在于:数据访问的时候进程是否阻塞!阻塞IO和非阻塞IO的区别就在于:应用程序的调用是否立即返回!同步异步在于双方的配合消息的通信机制阻塞与非阻塞在于一端对待某个调用的态度,等待返回的状态。...

2018-06-24 12:07:01 187

原创 网络编程api简介

server:int main(){ int sockfd=socket(AF_INET,SOCK_STREAM,0);//(1)头文件sys/socket.h,建立套接字 assert(sockfd!=-1); struct sockaddr_in saddr,caddr;//(2)给建立的套接字设置属性用于绑定 memset(saddr,0,sizeof(saddr)); saddr.sin...

2018-06-24 11:35:52 259

原创 TCP协议

                                           TCP协议TCP网络编程大纲: TCP面向连接 字节流   可靠传输   | 优化算法Nagle        | 3次握手 无消息保护边界 确认应答 - TCP头部结构(头部的选项讲解一下扩大因子3和最大报文长度2)-PSH以及窗口大小-TCP数据(交互数据&成块数据)4次挥手 ...

2018-06-24 11:29:04 175

原创 网络层IP协议介绍

                                网络层协议介绍*******ip网络结构(历史)********网络层信息传输两种:电信电话:虚电路服务:电信网采用交换机,建立链接的,osi(七层)体系支持者曾经推行过。如今:数据报服务:无连接不可靠,减少了路由器成本(原因就是把报文乱序缺失流量控制交给了主机处理(电脑))*网络层协议(ICMP,IGMP) IP(ARP,RARP)...

2018-06-24 10:40:25 639

原创 静态库与共享库

                                    静态库与共享库静态库与共享库的区别:1.静态库使用发生在静态链接共享库发生在动态链接。2.静态库.a在linux为后缀,静态库的代码是完全在静态链接的时候拷贝的,因此代码量比较大。动态库是在运行时候才加载到内存当中的,如果动态库创建时候使用-fPIC那么内存中只有一份代码。3.静态库不利于维护,而共享库利于维护,因为我们的共享...

2018-06-23 16:57:54 189 1

原创 linux各种命令归类简介

                        linux各种命令归类1.文件cp 拷贝命令 cp a.c b.crm 删除命令 -r删除目录mv 剪切命令 mv a.c b.cvi编辑命令cat打印命令tail查看文档尾部awk功能较为复杂后跟正则表达    awk  -F":"  '{print $1}'  file(输出文件第一列(域),分割符是:,不加-F":"就是默认空格分隔。print...

2018-06-23 16:35:51 313

原创 堆内存管理

                                        堆内存管理**********************堆内存分配我们c++中的new和delete都是调用c中的malloc和free来经行工作的因此malloc底层的行为方式就对于理解堆来讲至关重要。(sbrk brk mmap munmap)为我们底层的几个系统调用**sbrk&brk小于128k的mall...

2018-06-23 14:16:48 201

原创 继承与多态常见问题

                                    继承与多态常见问题1.派生类内存布局,继承了基类什么东西是先基类后派生类,并且继承了名字作用域和除析构构造以外的所有方法2.继承的东西访问限定,(就是限定的取最小值(4种),基类private是不可见)3.派生类对象的构造方式   Derive d(10)(调用base成员对象构造函数(Base初始化列表里面),在Base构造...

2018-06-22 13:19:35 491

原创 智能指针区别与使用

                                   智能指针区别与使用智能指针(类模板):推荐博客:http://bolg,csdn.net/kongkongkkk/article/details/75135327智能指针生存的意义就是为粗心的程序员以及不合理的程序,例如异常情况跳出了某一个空间的释放代码段没有执行释放内存的代码。而使用智能指针则为了让指针自动处理以上问题保证内存...

2018-06-21 16:43:46 921

原创 STL中nginx内存池

                         STL中nginx内存池相关文章:https://wenku.baidu.com/view/a13f31751ed9ad51f01df218.htmlhttps://blog.csdn.net/bossxu_linuxer/article/details/55657284******nginx物理结构|last|end|next|fail|  ma...

2018-06-20 20:27:48 249

原创 c++的STL库

                                       c++STL库*************************容器的底层:*******容器  *vector向量容器(数组)底层是一个固定大小数组,2倍的大小增加空间,当我们数组大小超过了再去做push_back,则会先开辟2倍空间在把原来的东西移过来再析构原来对象释放原来空间。operator[]  vec1.sw...

2018-06-20 20:10:23 811

原创 类与对象的几种问题

                                类与对象的几种问题1.函数指针和函数名调用函数有什么区别? 函数指针可以在不确定函数时候放一个函数指针,调用时用到谁指向谁,还有就是inline函数指针是不会处理内敛函数的。2.c里面struct是不能定义空结构体 而且默认为public,c++中struct和class代表类 空的化占一个字节3.他们使用_thiscall调用约定,...

2018-06-20 20:07:33 314

原创 c与c++的不同

                            c与c++的区别1.调用约定的不同c函数采用c调用约定c++采用thiscall调用约定,这导致了c++成员函数调用的时候会多产生一个this指针。并且他在数字签名上也对于其产生了很大的不同。c的函数fun(int a)在符号表中为_fun(),而c++为fun(int)加入了形参类型,这也是静多态重载会发生的最大原因。2.带默认值的函数c9...

2018-06-20 18:24:12 202

原创 内存布局与堆栈调用

                                    内存布局与堆栈调用/////////////////内存布局/////////////////////////程序的内存布局kemel space内核stack栈dynamic libraries动态加在空间heap堆read/write sections数据段.bss.datareadonly sections代码段.tex...

2018-06-20 17:08:26 287

原创 消息队列api简介

消息队列:简介:消息队列同管道一样为进程间通信提供了一种有效的方式。它的优势在于它独立于发送和接收进程而存在,它不受读写端是否关闭而影响。消息队列有相关类型,我们可以选择接收什么样的类型。1.消息队列的函数头文件#include<sys/msg>int msgget(ket_t key,int msgflg)与大多数IPC机制一样,key相当于它的名字,flg多取IPC_CREAT...

2018-03-08 17:41:58 992

原创 进程间通信信号

进程间通信--信号信号:是有系统内核发出的由于错误内存冲突等原因引起产生的,主要用于控制进程。1.信号可以被生成捕获响应。常见的有SIGCHLD SIGCHINT2.响应方式有三种(忽略SIG_IGN)(默认SIG_DFL)(自定义fun)fun是自定义函数指针fun(int sig)接下来的函数会为我们的自定义函数传递信号值头文件#include<signal.h> int si...

2018-03-06 14:11:43 582

原创 管道api简解

管道:用于进程间通信,在内存中开辟出的一小块空间,进程间通信的管道为半双工。管道的分类:1.有名管道:命令:mkfifo+(管道名称)  自己建立管道,该命令对于linux新一些版本基本可用。2.无名管道:函数:pipe() 多用于父子进程的进程间通信编程注意:(1)管道的读端read在写端未关闭时阻塞,假设此时管道中没有数据。当写端关闭读端会返回0。当我们管道中有数据时候read会循环读取,...

2018-03-05 20:01:47 775

原创 网络编程api接口简介

客户端:int main(){ int sockfd=socket(AF_INET,SOCK_STREAM,0);//(1)头文件sys/socket.h,建立套接字 assert(sockfd!=-1);  struct sockaddr_in saddr,caddr;//(2)给建立的套接字设置属性用于绑定 memset(saddr,0,sizeof(saddr)); saddr.sin_...

2018-03-05 14:59:50 1943

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除