自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux网络编程----tcp客户端与服务端

众所周知端口:1~1023(1~255之间为众所周知端口,256~1023端口通常由UNIX 系统占用)* accept()方法会返回一个新的套接字对象,该对象用于与客户端进行通信。:一个用于表示IPv4地址的结构体,用来表示服务端和客户端的地址信息。接受消息:(read(fd, mes, 128))// 地址族, AF_INET,2 bytes。accept()是一个用于套接字编程的方法,* 当服务器监听到客户端的连接请求时,// IPV4地址,4 bytes。// 端口,2 bytes。

2024-01-26 10:52:29 141 1

原创 线程及常用操作函数

LWP:light weight process 轻量级的进程,本质仍是进程(在Linux环境下)进程:独立地址空间,拥有PCB线程:也有PCB,但没有独立的地址空间(共享)区别:在于是否共享地址空间。独居(进程);合租(线程)。Linux下: 线程:最小的执行单位进程:最小分配资源单位,可看成是只有一个线程的进程。在linux下,线程是最小的执行单位,进程是最小的分配资源单位线程和进程底层实现都是调用同一个内核函数clone。如果复制对方的地址空间,那么就产出一个“进程”;

2024-01-25 10:51:09 996

原创 共享内存&队列

允许两个或多个进程共享一个给定的存储区,是进程间通信最快的一种方式,不要同时对共享文件储存空间进行写操作,通常信号量用于同步共享储存访问;内核提供的一个链表,内核基于这个链表实现一个数据结构,通过维护这个数据结构来维护消息列队,向消息中写数据实际就是向这个数据结构中插入一个新节点,从消息队列汇总读数据,实际上是从这个数据结构中删除一个结点。

2024-01-23 19:37:10 1589 1

原创 常用位运算小结

在很多系统中长要求在位(bit)一级进行运算和处理。C语言提供了位运算的功能,这使得C语言也能像汇编语言一样用来编写系统程序。

2024-01-17 19:51:41 400

原创 Ubuntu软件维护命令

apt是一款安装包管理工具,在ubuntu下可以使用apt命令进行软件包的安装、删除、清理等dpkg是一个Debian的一个命令行工具,它可以用来安装、删除、构建和管理Debian的软件包。

2024-01-15 17:29:52 1490 1

原创 磁盘及用户权限管理

在硬盘的第一个扇区【512字节中】写了主分区记录表 => 空间只能保存4条主记录,因此Mbr只能支持4个主分区(主分区/扩展分区),编号1~4。tar -zcvf t1.tar.gz testzip =>将目录testzip归档并压缩为t1.tar.gz。tar -cvf t.tar ./testzip/ =>将目录testzip归档为t.tar。tar -zxvf t1.tar.gz =>将文件t1.tar.gz解压。A.vim /etc/fstab文件,增加自己的分区和挂载点到文件。

2024-01-12 15:02:23 1637 1

原创 Liunx系统的基本操作

协调内存和硬盘操作速度差异,在硬盘上独立开辟的一片空间,在操作系统运行过程中,如果需要从硬盘读取信息时,先从swap检查是否有缓冲内容,有直接读取,没有才去读取实际硬盘空间。控制系统服务的命令行工具,主要用于管理和控制系统的启动,停止,重启,开机自启动等操作,时systemed系统的和服务管理的一部分,可以在大多Linux的操作系统中使用。8、查找和替换指定行的某个内容【:1,6s/查找的内容/替换的内容/g】(第1 行 到第6行)1. 关机=> 虚拟机标题处[右键] => 管理=> 克隆。

2024-01-10 19:33:14 978

原创 VMARE虚拟机

关于vmare虚拟机安装ssh-server =.>安全远程终端【非对称加密技术。4、安装慢的建议切换为国内安装源,因为权限的问题,建议直接切换root操作。使用专业的ssh终端软件登陆ubuntu=>x选择new session。(4)dpkg -l 查看所有已安装的软件列表。Linux系统下,命令的参数 -简写 --全写 不得混用。dpkg --list 查看所有已安装的软件列表。

2024-01-08 19:04:45 547 1

原创 动态顺序表操作(二)

再声明int i,j。使i=m-1,指向a的尾部,j= n-1 指向b的尾部,两两逆向遍历比较,再确定常量k = =m+n-1,指向合并后的尾部,通过比较将两个数组中的大者往最后放,最后将b数组中剩余的数据依次填入。a和b数组分别为有序数组,可以循环遍历,a和b有效数据为3,定义两个常量int m,n,直接遍历循环查找该位置数据即可。找到在指定位置,直接修改数据。中,形成一个新的有序数组。

2023-12-29 12:15:42 370 1

原创 动态顺序表操作(一)

顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上 完成数据的增删查改。使用动态开辟的数组存储。按需申请二、动态顺序表结构定义#define INIT_SIZE 5 //第一次分配的大小//重定义int数据类型,可以适应各种扩展//顺序表类型定义//指向顺序表首地址int count;//记录实际的元素个数int size;//总的大小}st_list;

2023-12-28 19:58:56 390 1

原创 字符串的处理

字符串拼接,比较,和插入,利用字符串一的长度移动;为防止字符串1的指针进行变化,额外定义一个指针,让他等于字符串1的指针;同时给新指针移动字符串二的长度,此时插入位置会多出等于字符串二的空间大小;= '\0' 或者 *str2!再遍历str2,(*str2!= '\0'),让*pc = *str2,两者自增。为防止字符串的指针进行变化,额外定义一个指针,让他等于字符串的指针;然后利用条件判断比较*str1 和 *str2 即可;1、先计算字符串的长度,利用函数strlen。

2023-12-20 19:02:21 442 1

原创 基本算法-数组、字符串、二维数组

3、遍历过程中列不会发生变化,由:5 1 10 00 ->00 10 可以看出0变1,1变0,即在循环中可以用1-j表示。注意题目,是倒转显示,并不是吧数组到=倒转,因此只要打印出格式就行了;3)仅仅为反向输出,因此只要反向遍历字符串中的单个字符一一输出即可;2)采用while循环得到字符串的长度,得到 int len。5)采用for循环,比较第i个字符和第len-1-i个。1、定义行和列为M,N,用宏定义确定数组长度。1、采用宏定义,确定一个二维数组的行和列;2、根据题目信息,需要先遍历列,再遍历行;

2023-12-16 11:12:29 442 1

原创 C算法基础(数组)

常见的排序也就冒泡排序和选择排序,此外还有插入排序、快速排序等排序法,有机会可以给大家写一下;注:如果只初始化数组前面的元素,后面的元素默认初始化为0。思路:首先我们需要确定数组的最大值和最小值,以及对应的索引。不指定大小的数组必须在定义的同时进行初始化,表示有。思路:依次比较,将最大/最小值放在最后,循环进行;思路:两两比较,将较大/较小值往后排,依次循环;个数,把他们中的最大值和最小值交换位置。类型的数据,他们在内存中是连续存储的。、不能用 变量来指定数组的大小。可以利用宏定义来确定数组长度;

2023-12-14 19:13:23 453 1

原创 Java编程:数组遍历的基本案例

数组遍历。,数组获取最值(获取数组中的最大值最小值),数组排序和二分查找二分查找需要数组是有序的二分查找的基本思路:获取最大和最小索引,求出中间元素的索引mid;三角(二维数组练习)分析:A:如果是n行,那么最后一行是n列。B:每一行的第一列和最后一列的元素是1。C:判断:若得到查找值key= mid,则满足条件,停止循环输出对应索引;如得到key>mid,则取后半段,最新小索引为mid+1;若得到key< mid ,则取前半段,新最大索引为mid-1;若不存在则输出错误结果;

2022-11-28 01:45:00 2508

原创 Java编程:方法的调用及重载的基本案例

参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型,并在main方法中进行测试。在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。显然byte x 和 byte y不相等,我们自定义输出a=40.,b=40。例如:键盘录入一个数据n(1

2022-11-27 14:04:49 533

原创 Java:数组的基础概念及运用

首先我们可以自定义输入8位数密码然后,把加密后的结果在控制台打印出来。使用键盘录入功能输入要加密的密码第一步:倒序第二步:+5For(){Arr[x]+= 5;}第三步:求和第四步:sum%10一、数组的概念:数组是存储多个变量(元素)的东西(容器) 数组是存储多个元素的容器,这多个第五步:arr[x] = sum%10;第六步:int temp = arr[0];Arr[0] = arr[x-1];Arr[x-1] = temp;

2022-11-18 19:42:25 327

原创 Java:方法的使用及其格式

例如:输入两个数判定是否相等和输出最大值/。修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {函数体;return 返回值;}(1) 方法名 一个名称,为了方便我们调用方法(2) 参数类型 限定调用方法时传入参数的数据类型(3) 参数名 是一个变量,接收调用方法时传入的参数。

2022-11-17 19:03:36 421

原创 Java :数据类型的引入及相互转换

数据类型 变量名称 = 初始化值;数据类型的作用:用于对数据/变量限定大小Java语言是强类型语言,对于每一种数据/变量都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间整数类型 byte short int long小数类型 float double字符类型 char布尔类型 boolean。

2022-11-16 20:02:05 332 1

原创 Java编:程统计大串中小串出现的次数

例如在“woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”C:把刚才的索引+小串的长度作为开始截取上一次的大串,返回新的字符串,把新字符串从新赋值给自身。B:先在大串中找小串出现的索引,如果是 -1:说明不存在,返回统计变量。索引不是-1,统计变量+1。以上代码过于太长,由此我们也可可以简化一下。这串字符中"java"出现的次数。运行代码可以得到为5次;

2022-11-15 18:54:42 665

原创 第一天学习了解java编程

兴趣是学习编程最好的老师不积跬步,无以至千里这辈子没办法做太多事情,所以每一件都要做到精彩绝伦。-----------------------史蒂夫.乔布斯

2022-11-14 18:01:38 165 1

空空如也

空空如也

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

TA关注的人

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