自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据集符号

java基础 ** 数据及符号 ** 第一篇博客来说一说Java数据及符号 数据 基本数据类型:byte、int、double、char… 引用数据类型:String、Integer… 基本数据类型 1.整数 byte(1字节) short(2字节) int(4字节) long(8字节 后跟L或l) 默认int 2.浮点 float(4字节 后跟F或f) double(8字节) 默认double 3.字符 char(2字节) 4.布尔 boolean(true或false) 转换 基本数

2020-09-17 12:23:42 904

原创 Linux下的i/o复用——epoll

1、i/o复用 一个进程或者一个线程能够同时对多个文件描述符(socket)提供服务,服务器上的进程或线程如何将多个文件描述符统一监听,当任意一个文件描述符上有事件发生,其都能及时处理。 2、epoll()函数 函数原型 int epoll_create(int size); int epoll_clt(int epollfd,int cmd,int fd,struct epoll_event *event); int epoll_wait(int epollfd struct epoll_event *

2020-08-20 17:28:51 226

原创 Linux下的i/o复用——poll

1、i/o复用 一个进程或者一个线程能够同时对多个文件描述符(socket)提供服务,服务器上的进程或线程如何将多个文件描述符统一监听,当任意一个文件描述符上有事件发生,其都能及时处理。 2、poll()函数 函数原型:int poll(struct pollfd *fds,int nfds,int timeout); 函数原型参数解释: struct pollfd的定义 struct pollfd { int fd; ————用户关注的文件描述符 short event; ————

2020-08-19 18:29:59 272

原创 Linux下的i/o复用——select

1、i/o复用 一个进程或者一个线程能够同时对多个文件描述符(socket)提供服务,服务器上的进程或线程如何将多个文件描述符统一监听,当任意一个文件描述符上有事件发生,其都能及时处理。 2、select函数 启动监听:int select(int nfds,fd_set *readfds , fd_set *writefds ,fd_set *excefds ,struct timeval *timeout); 每次启动select调用时都能够重新设置值readfds,writefds。 其中fd_set

2020-08-18 15:36:34 168

原创 Linux下的多线程创建合并执行

1、为什么要使用多线程 使用多线程的理由之一是和进程相比,它是一种非常"节俭"的多任务操作方式。我们知道,在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需的时间也远远小于进程间切换所需要的时间。据统计,总的说来,一个进程的开销大约是一个线程开销的30倍

2020-08-16 17:28:56 379

原创 Linux下的进程间通信——共享内存

一、什么是进程间通信 进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义上这也是进程间通信的手段,但是一般都不把这算作“进程间通信”。 二、共享内存的基本概念 共

2020-08-14 19:30:50 326

原创 Linux下的进程间通信——消息队列

一、什么是进程间通信 进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义上这也是进程间通信的手段,但是一般都不把这算作“进程间通信”。 二、消息队列的定义 Mes

2020-08-14 11:55:47 347

原创 Linux下的进程间通信——信号量

一、什么是进程间通信 进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义上这也是进程间通信的手段,但是一般都不把这算作“进程间通信”。 二、信号量在进程间通信方式

2020-08-13 18:38:00 312

原创 Linux下的进程间通信方式———管道

一、什么是进程间通信 进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义上这也是进程间通信的手段,但是一般都不把这算作“进程间通信”。 二 、管道在进程间通信的方

2020-08-13 18:05:55 234

原创 Linux下的fork复制进程

复制进程(共享资源) 1.复制进程的概念 fork创建一个进程时,子进程只是完全复制父进程的资源,复制出来的子进程有自己的task_struct结构和pid,同时复制父进程其它资源(用户空间、文件描述符集)。 2.复制进程的实现方式 当我们需要复制一个进程时,我们就去调用fork()这这个函数,fork()这个函数就会去陷入内核去多复制一个pid出来,此时这个pid下的进程执行的程序就是子进程的。 3.写实拷贝 fork()是一个开销十分大的系统调用,这些开销并不是所有的情况下都是必须的,比如某进程fork

2020-07-22 19:24:38 470

原创 不定长顺序表

一、创建顺序表结构体 1、创建一个结构体,用来储存数据 #define TRUE 1 #define FALSE 0 #define INIT_SIZE 10 typedef int ElemType; typedef int (*Compare)(ElemType,ElemType); typedef struct SqList { ElemType *data; int length;...

2020-01-30 22:48:24 234

原创 C语言下的带头节点的顺序表

1、创建顺序表的结构体 1、创建一个大小为10的顺序表 #define LISTSIZE 10 #define TRUE 1 #define FALSE 0 typedef int ElemType; typedef int(*Compare)(ElemType,ElemType); typedef struct SqList { ElemType data[LISTSIZE]; int l...

2020-01-28 21:09:35 721

原创 C语言用顺序表实现的2048小游戏源代码

使用顺序表来实现的2048小游戏 一、构造结构体 1、构造一个大小为十六顺序表结构体 #define DATA 16 typedef struct Node { int data[DATA]; int length; }Node,*NodePtr; 二、顺序表的初始化 1、以下代码是顺序表初始化开辟64个字节大小的空间 void Init2048(NodePtr sizestrlen) {...

2020-01-28 17:26:49 1925 3

原创 内存泄漏

内存泄漏 为什么会有内存呢? 答:当你申请了一个动态内存时,你使用完之后却没有释放那个动态内存,此时就产生了内存泄漏。而在我们生活中也有许多的内存泄漏,当你买的手机不管是64G、128G的内存。在使用一段时间后就会产生卡顿现象,那个时候你就会感觉是你的手机内存不够了,就会产生卡顿的现象。其实并不是你的手机内存不够,而是你的手机产生了内存泄漏。而解决这个问题最好的方法就是把你的手机关一下机就好了。...

2019-10-25 16:56:17 229

原创 数组

数组是什么? 数组:就是有限个同类数据放在一起的命名,数组是保存在内存上的一段连续数据。 数组的类型有哪几种呢? 1、数字数组 就是有限个数字保存在同一个数组名中的数组,我们用代码看一下数字数组吧! int arr[10]={1,2,3,4,5,6,7,8,9,10}; for(int i=0;i<10;i++) { printf("%d ",arr[i]); } 2、字符串数...

2019-10-23 23:01:26 181

原创 指针的解引用与野指针相关问题

指针的解引用 在指针中只有解引用才能改变定义的值。 在功能函数中想要改变值必须要传指针和解引用才行,缺一不可。 以下是几种错误的指针使用方法 1.没有传指针也没有解引用 void Swap_err1(int i,int j) //此函数是既没有传指针也没有解引用 { int temp; temp =i; i = j; j = temp; } 2.传了指针但是没有解引用 void Sw...

2019-09-27 15:31:27 473

原创 C语言 栈

栈是计算器语言里数据储存类型一种叫法,他应用在许多语言上面。 今天我们就以C语言来了解栈。 栈主要是用来储存局部变量的,在数组上面表现为数组越界。 在数组定义时,假如定义了10个常量,存储是内存给它分配了10个常量的位置,可是你输入了11个常量,其中第11个常量就产生了越界行为。 为什么会这样呢? 这主要是栈的特性产生的,栈是一个先进后出的特性储存类型。 栈就像是一个无顶的长条框一样,其中长条框上...

2019-08-06 12:21:02 239

原创 进制转换选择题简便方法

大家好,今天我们要写的是一个选择题进制转换的简便方法。 先来一个二进制转十进制吧,比如0011 1010如何转十进制呢? 0011 1010 ->> 1×2 ^ 5 +1×2 ^ 4 +1×2 ^3 +0×2 ^2 +1×2 ^1+0×2 ^0 =58 同理把十六进制152转成八进制呢? 152 ->> 1×16^2 +5×16 ^1+2×16 ^0 =338 -&g...

2019-07-17 19:50:22 792

空空如也

空空如也

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

TA关注的人

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