自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 socket选项(部分)

  首先介绍两个专门用来读取和设置socket文件描述符属性的系统调用 getsockopt () & & sockopt () 函数原形: //读取socket文件描述符的属性int getsockopt(int sockfd , int level , int option_name , void* opt...

2021-01-31 11:55:17 171

原创 最大乘积,最大和---------连续子数组

最大连续乘积子数组遍历数组时计算当前最大值,不断更新令imax为当前最大值,则当前最大值为 imax = max(imax * nums[i], nums[i])由于存在负数,那么会导致最大的变最小的,最小的变最大的。因此还需要维护当前最小值imin,imin = min(imin * nums[i], nums[i])当负数出现时则imax与imin进行交换再进行下一步计算时间复杂度:O(n)class Solution {public: int maxProduct(vector

2021-01-30 11:58:27 93

原创 最长连续不重复子串

题目内容描述给定一个字符串,找出不含有重复字符的最长子串的长度。示例:给定 “abcabcbb” ,没有重复字符的最长子串是 “abc” ,那么长度就是3。给定 “bbbbb” ,最长的子串就是 “b” ,长度是1。给定 “pwwkew” ,最长子串是 “wke” ,长度是3。请注意答案必须是一个子串,”pwke” 是 子序列 而不是子串。代码:# include <iostream># include <string>using namespace std;i

2021-01-28 09:13:06 730

转载 c语言extern阐述

本文转载,详情请点击!1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。      也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的,C++的规则在翻译这个函数

2021-01-27 11:37:43 458

原创 cjson格式学习

简介:JSON:JavaScript对象表示法(JavaScript Object Notation)。是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似C语音家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。JSON解析器和JSON库支持许多不同的编程语言。JSON文本格式在语

2021-01-25 21:54:38 648

原创 进程的问题-----fork()与vfork()的区别

fork()函数fork()函数:用于创建一个进程,所创建的进程复制父进程的代码段/数据段/BSS段/堆/栈等所有用户空间信息;在内核中操作系统重新为其申请了一个PCB,并使用父进程的PCB进行初始化;子进程执行的位置是fork()函数执行后的代码处创建成功后,fork是返回两个值,一个代表父进程,一个代表子进程:代表父进程的值是一串数字,这串数字是子进程的ID(地址);一个代表子进程,值为0。vfork()函数它与fork()函数最大的区别就是,共享了父进程的虚拟空间,共享了父进程的物理空

2021-01-24 16:54:19 109

转载 C语言线程相关函数

另外一篇博客,请点击!本篇博客为转载,原文请点击! 目录 创建线程和结束线程 线程属性   创建线程和结束线程 (1)线程创建函数 int pthread_create ( pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *),

2021-01-24 16:14:32 1400 1

原创 什么是I/O多路复用?

IO多路复用是什么?回答:I/O多路复用,我觉得其实是一种机制,相比于之前的多进程,多线程来处理连接请求后的相关操作,I/O多路复用则可以一个进程或者一个线程去完成对这些I/O请求的操作,使得内核一旦发现进程指定的一个或多个IO条件就绪,它就通知进程。它的优点就是:与多进程和多线程技术相比,I/O多路复用技术的最大优势是系统开销小,系统不必创建进程/线程,也不必维护这些进程/线程,从而大大减小了系统的开销。IO复用应用的场合:(1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须

2021-01-23 17:16:10 461

原创 父子进程共享问题,进程与线程问题

父子进程子进程会拷贝父进程的所有资源,变量。(读时共享,写时复制)注意:子进程拷贝了父进程数据空间、堆、栈等资源的副本,父子进程间不共享这些存储空间,共享的空间只有代码段,子进程修改一个全局变量,父进程的这个全局变量不会改变,因为是一个副本。深度好文,请点击!进程与线程进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资

2021-01-22 22:20:39 3441

转载 程序的内存模型

在一个多任务操作系统中的每个进程都运行在它自己的内存“沙箱”中。这个沙箱是一个虚拟地址空间(virtual address space),在 32 位系统中它总共有 4GB 的内存地址空间,包含内核空间和用户空间:这些虚拟地址是通过内核页表(page table)映射到物理地址的,并由操作系统内核维护。在典型的Linux 中,内核/用户空间的划分比例为1:3。但是,这并不意味着内核就使用了1G物理内存,它只使用了很少一部分可用的地址空间映射到其所需要的物理内存。内核空间的页表被标记,因此,如果一个用户模

2021-01-22 22:17:42 120

原创 面试集锦-------LRU,LFU手撕算法

LRU(最近最久未使用算法)思路:这里用到了两个数据结构,一个是list,另一个是unordeed_map我们的思路也很简单,在map中以key为键,值得话我们取相对应下list存储key的iterator,为什么呢?主要是我们可以利用map的O(1)的查找,如果能找得到,就表示List是存在这样的key的。 这里,我们以list的队尾为最近最久未使用的元素节点,也就是说队头的一定是刚刚使用过的节点。用一个结构体作为list的元素节点,node里面必须存储key和value !为什么要把k

2021-01-09 00:04:33 237

转载 进程函数-------fork与vfork

本文转载!详情请点击! fork()与vfock()都是创建一个进程,那他们有什么区别呢?总结有以下三点区别: 1.  fork  ():子进程拷贝父进程的数据段,代码段     vfork ( ):子进程与父进程共享数据段 2.  fork ()父子进程的执行次序不确定     vfork 保证子进程先运行,在调用exec 或exit 之前与父进程数据是共享

2021-01-06 22:04:00 106

空空如也

空空如也

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

TA关注的人

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