自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式之单例模式(含实现)

单例模式:主要解决一个全局使用的类频繁创建和销毁的问题。单例模式下可以确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式有三个要素:1、某个类只能有一个实例;2、必须自行创建这个实例3、必须自行向整个系统提供这个实例。为什么需要单例模式:有的类创建和销毁资源消耗大,并且对象可以复用,会造成不必要的资源浪费。1、饿汉式(一开始就实例化对象):基于class loader机制避免多线程的同步问题。但是,instance在类装载时就实例化,可能会产生垃圾对象。public c

2022-05-03 21:30:46 198

原创 本地套接字通信(客户端和服务器端)

服务器端:#include <stdio.h>#include <string.h>#include <unistd.h>#include <stdlib.h>#include <arpa/inet.h>#include <sys/un.h>int main() { unlink("server.sock"); // 1.创建监听的套接字 int lfd = socket(AF_LOCAL

2022-04-26 17:02:07 263

原创 UDP通信实现(客户端和服务器端)

服务器端:#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<string.h>#include<arpa/inet.h>int main(){ //创建一个通信的socket int fd = socket(PF_INET,SOCK_DGRAM,0); if(fd==0){ perror("socket");

2022-04-26 15:19:42 843

原创 多线程实现并发服务器

服务器端代码:#include <stdio.h>#include <ctype.h>#include <arpa/inet.h>#include <unistd.h>#include <stdlib.h>#include <string.h>int main(int argc, char *argv[]) { // 创建socket int lfd = socket(PF_INET, SOCK_S

2022-04-24 15:04:36 416 1

原创 八股文之C++(持续更新,如有错误欢迎指正)

面试常问基本问题,期末考点

2022-04-24 10:20:39 531

原创 TCP通信实现(服务器端和客户端)

// TCP 通信的服务器端#include <stdio.h>#include <arpa/inet.h>#include <unistd.h>#include <string.h>#include <stdlib.h>int main() { // 1.创建socket(用于监听的套接字) int lfd = socket(AF_INET, SOCK_STREAM, 0); if(lfd == -1.

2022-04-21 17:49:51 3679

原创 有名管道实现简单版的聊天功能(附代码)

1.分别创建两个文件,实现进程A和进程B,代码如下A:#include<stdio.h>#include<unistd.h>#include<sys/stat.h>#include<sys/types.h>#include<stdlib.h>#include<fcntl.h>#include<string.h>int main(){ //判断有名管道是否存在 int ret=acc...

2022-04-12 17:31:16 323

原创 管道(匿名管道与有名管道及两者区别)

无名管道(匿名管道)pipe:1、它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端2、只能用于具有亲缘关系的进程间通信(父子进程、兄弟进程等)3、可以看成是一种特殊的文件,对它的读写也可以使用普通的read、write等函数,但它不是普通的文件,不属于任何文件系统,并且只能存在于内存中。无名管道的一些特性:读管道: 管道中有数据,read返回实际读到的字节数。 管道中无数据: ...

2022-04-12 16:04:16 2522

原创 GDB多进程调试

使用GDB调试的时候,GDB 默认只能跟踪一一个进程,可以在fork 函数调用之前,通过指令设置GDB调试工具跟踪父进程或者是跟踪子进程,默认跟踪父进程。1.设置调试父进程或者子进程: set follow- fork-mode [parent (默认)| child]可使用show follow- fork-mode查看当前默认调试进程2.设置调试模式: set detach-on-fork [on | off]默认为on, 表示调试当前进程的时候,其它的进程...

2022-04-10 17:23:22 1771

原创 GDB调试命令

1.准备工作gcc -g program.c -o program`-g` 选项的作用是在可执行文件中加入源代码的信息,比如可执行文件中第几条机 器指令对应源代码的第几行,但并不是把整个源文件嵌入到可执行文件中,所以在调 试时必须保证 gdb 能找到源文件。(-g也可放到命令的最后)2.启动、退出及查看代码启动和退出gdb 可执行程序 如:gdb testquit/q 退出查看当前文件代码list/l ...

2022-04-07 15:44:53 305

原创 hash表之两数之和

提供两种不同的解法思路!给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]第一种:暴力解法:通过使用两层的for循环进行查找,时间复杂度为O(n^2)。classS.

2022-01-18 21:57:33 301

空空如也

空空如也

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

TA关注的人

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