- 博客(7)
- 收藏
- 关注
原创 git添加不了子仓库的解决办法
如果git仓库里面还存在git仓库,子git仓库在git add 的时候是添加不进去的,会出现warning: 正在添加嵌入式 git 仓库:xxx。push到仓库里面就是单个文件夹。解决办法是git rm -r --cached xxx/cd xxxrm -rf .gitcd..git add xxx/...
2022-04-29 18:29:05
356
原创 epoll源码解析
epoll函数int epoll_create(int size);int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);int epoll_wait(int epfd, struct epoll_event * events, int maxevents, int timeout);#define EPOLL_PACKED __attribute__((packed)) // 紧凑内存分配struct epoll_
2021-10-28 21:29:15
462
原创 linux0.11 fork源码详解
linux0.11源码分析-fork进程操作系统首先在main.c中:if (!fork()) { // 注意,这里很妙,父进程返回子进程的pid,也就是说父进程不会执行这个代码。子进程返回的是0,所以子进程执行这个init()。 init(); }这个init用于启动shell,让一个shell让您执行。在init/main.c中:// 下面_syscall0()是unistd.h中的内嵌宏代码。以嵌入汇编的形式调用Linux的系统调用中断// 0x80.该中断是所有系统调用的入口。
2021-10-27 21:48:15
2180
原创 进程控制
获取进程ID每个进程都有一个唯一的正数(非零)进程ID(PID)。getpid函数返回调用进程的PID。getpid函数返回它的父进程的PID(创建调用进程的进程)。#incldue <sys/types.h>#include <unistd.h>pid_t getpid(void);pid_t getppid(void);getpid和getppid函数返回一个类型为pid_t的正数值,在Linux系统上它在types.h中被定义为int。创建和终止进程从程序员
2021-05-06 13:55:52
124
原创 redis字符串源码分析sds
前言分析的为redis现在的最新版 6.2.3源码链接:sds.h: https://github.com/redis/redis/blob/unstable/src/sds.hsds.c: https://github.com/redis/redis/blob/unstable/src/sds.csds结构体的定义// sds的定义typedef char *sds;/* Note: sdshdr5 is never used, we just access the flags byte
2021-05-04 16:53:56
211
原创 NIO快速入门
7. NIO快速入门通道间的数据传输这里主要介绍两个通道与通道之间数据传输的方式:transferTo(): 把源通道的数据传输到目的的通道中。示例:import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.nio.ByteBuffer;import java.nio.channels
2021-05-03 19:42:28
253
原创 异步回调详解
简介随着移动互联网的蓬勃发展,业务架构也随之变得错综复杂,业务系统越来越多。通常,我们处理方法是异步去调取这些接口。随着高并发系统越来越多,异步回调模式也越来越重要。问题就来了,如何获取处理异步调用的结果呢 ?让我们一起来探讨一下吧~~Java Future的异步回调Callable接口在聊Callable接口之前,先提一下Runnable接口。Runnable接口是在Java多线程中表示线程的业务代码的抽象接口。但是Runnable没有返回值,为了解决这个问题,Java定义了一个和Runnabl
2021-05-03 19:01:54
5679
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人