首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Git工作流程、工作缓存、版本库

Git 的工作流程图: Git 工作、暂存和版本库 基本概念 工作:就是你在电脑里能看到的目录。 暂存:英文叫stage, 或index。...版本库:工作区有一个隐藏目录.git,这个不算工作,而是Git的版本库。 工作、版本库中的暂存和版本库之间的关系图: 图中左侧为工作,右侧为版本库。...当对工作修改(或新增)的文件执行 "git add" 命令时,暂存的目录树被更新,同时工作修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存的文件索引中。...或者 "git checkout -- " 命令时,会用暂存全部或指定的文件替换工作的文件。这个操作很危险,会清除工作中未添加到暂存的改动。...这个命令也是极具危险性的,因为不但会清除工作中未提交的改动,也会清除暂存中未提交的改动。

73220

tcp socket的发送与接收缓冲

数据报)真正发送到网络上,由于应用程序调用send的速度跟网络介质发送数据的速度存在差异,所以,一部分应用数据被组织成tcp数据报之后,会缓存在tcp socket的发送缓存队列中,等待网络空闲时再发送出去...tcp socket的发送缓冲实际上是一个结构体struct sk_buff的队列,我们可以把它称为发送缓冲队列,由结构体struct sock的成员sk_write_queue表示。...mysysctl_tcp_mem[2]表示对缓冲可用大小的最高硬性限制,一旦总分配的缓冲大小超出这个值,我们只好把tcp socket 的发送缓冲的预设大小sk_sndbuf减小为已分配缓冲队列大小的一半...(完) 补充内容: 如果write的字节数>socket发送缓冲,tcp做何处理? 如果是非阻塞模式,是在设定的发送时间范围内能发多少发多少....在实际应用中,情况如下: 在非阻塞模式下,一般是用setsockopt函数设置发送阻塞的时间,然后调用send()发送数据,当超出这个时间,send函数会返回已发送的数据大小, 但是请注意此时缓存中可能还有些数据没有发送到网络上

3.3K20

Java NIO字节缓存【源码笔记】

目录 一、复制缓冲 1.复制一个缓冲 2.只读缓冲 3.分割缓冲 二、字节缓冲 1.字节顺序 2.直接缓冲...小结:构建只读缓冲实例对象为HeapCharBufferR,只读缓冲拥有独立的mark、position、limit。...4.视图缓冲 I/O本质上是字节的传递,ByteBuffer提供方便的API创建视图缓冲。 1. 通过工厂方法创建视图缓冲,有自己独立的属性、容量、位置、上界和标记。...例如:上文中复制缓冲和分割缓冲。 2.通过ByteBuffer提供API映射为基本类型缓冲。...三、总结 本文从源码角度跟踪分析了复制缓冲、只读缓冲、分割缓冲、字节顺序、非直接缓冲、直接缓冲、视图缓冲的实现原理。 四、参考资料 《Java NIO》第二章(完)

65911

Linux Socket 收发Json

如果对你有帮助,麻烦点个在看或点个赞,感谢~ 不管是Qt开发还是linux 嵌入式应用开发,一个人的核心竞争力还是不断思考,也就是不断琢磨。...下面的程序主要是Linux C Socket 读取JSON文件并传输,然后再写入文件,其中使用了cJSON库,关于cJSON库不过多介绍,主要介绍整体的思路。 1....Server 端 使用的是socket 阻塞式,没有使用select、poll、epoll等 接收端按照JSON格式解析数据,并提取感兴趣Key所对应的Value 程序功能挺快就可以做好,做完之后进行拆解...,将socket通信独立出来,JSON解析、写文件、响应客户端JSON数据等分别写成函数。...小结 编译JSON时需要链接linux的数学库 自己琢磨如何拆解函数功能 应用程序也主要是调用别人的api,那么你的核心竞争力是什么呢 ? 如需程序工程可在公众号后台留言。

4.6K20

linuxsocket编程

Socket soket接口是TCP/IP网络的API。网络的socket数据传输是一种特别的I/O,socket也是一种文档描述符。...常用的socket类型有:流式socket(SOCK_STREAM)、数据报socket(SOCK_DGRAM)....其中流式socket是采用面向连接的TCP服务,而数据报socket则是无连接的UDP服务 Socket建立     调用: int socket(int domain, int type, int...收到连接请求时,socket执行体将建立一个新的socket,执行体将这个新socket和请求连接进程的地址联系起来,收到服务请求的初始socket仍能够继续在以前的 socket上监听,同时能够在新的...描述符     buf:为存放接受数据的缓冲     len:缓冲的长度     flags:一般也被设置为0     返回实际接受的数据字节数 面向无连接的数据socket以sendto

3.9K70

Linux系统下socket编程socket接口介绍(二)

前言 在上一篇文章里面我们介绍了TCP的三次握手和四次挥手过程的介绍以及网络编程里面的一些api接口函数的介绍——Linux系统下socket编程之socket接口介绍(一)。...sockfd, const void *buf, size_t len, int flags); 说明: 第一个参数sockfd就是socket函数返回的文件描述符;第二个参数指向发送的信息所在的缓冲...(内存);第三个参数指缓冲的长度大小;第四个参数一般设置为0(如果不是这种情况,可以具体再查看)。...(这个转换完后不能用于网络传输,还需要调用htons或htonl函数才能将主机字节顺序转化为网络字节顺序,这两个函数先不讲,实战遇到的话,再进行解析),具体可以看下面Linux的源文: inet_aton...size参数是目标存储单元的大小,以免该函数溢出其调用者的缓冲

3.5K20

Java NIO缓存基本操作【源码笔记】

调用reset()设定position= mark 概念关系: 0 <= mark <= position <= limit <= capacity 二、缓存 1.Buffer类图 备注:从Buffer...2.创建Buffer缓存 以一个例子来分析Buffer缓存的创建。...,例子中缓存的容量为10个字符 @2 通过new char[cap]字符数组构造缓存容器,数组大小即缓存容量 @3 默认 Mark为-1即没有标记;Position为0;Limit与容量Capacity...@2 重置位置到开始位置 @3 从缓存读取 1.2 填充源码 public CharBuffer put(char x) { hb[ix(nextPutIndex())] = x; // @...(position自增) 小结:缓存的填充即填充数组,每个元素填充后,位置会向后移位;当缓存满时,possion也移动到了数组的最后位置;possion不能超过limit,否则抛出BufferOverflowException

44530

linux udp编程_linuxsocket编程

在前面的文件中,我们介绍了linux网络编程中与IP相关的知识和常用的函数总结,本文针对具体的UDP通信,来详细的介绍UDP通信的使用,包括UDP通信中的点对点通信,多播,广播等。...当然,在我们服务端创建socket后,主动往外发送一个数据,这样即使我们不进行绑定,我们依然可以收到数据,这只是系统通过我们的发送,自动的绑定了一个端口,这个并不是我们想要的,实际的使用中,也并不推荐这种方式...后,配置一下套接字,允许进行发送广播消息,上代码 int set_broadcast = 1; setsockopt(socket, SOL_SOCKET, SO_BROADCAST, &set_broadcast...解决方法如下:(允许端口重用) int on = 1; ret = setsockopt(udp_net_sta.socket, SOL_SOCKET, SO_REUSEADDR, &on, sizeof...(int)); if (ret < 0) { perror("socket set SO_REUSEADDR failed"); } 2、服务端程序,在创建完socket后,有一个bind的操作

11K10

Linux C Socket Api详解

套接字描述符 首先会先到的是文件描述符,对Linux一切皆文件的哲学又多懂了一点儿点儿。 套接字是通信端点的抽象。与应用程序使用文件描述符一样,访问套接字需要使用套接字描述符。...Linux系统是小端字节序。 2.2 地址格式 地址确定了特定通信域中的套接字端点,地址格式与特定的通信域相关。...Linux中,sockaddr_in定义如下: struct sockaddr_in { sa_family_t sin_family; in_port_t sin_port; struct...注意:linux的man命令可以查看api的详细说明,而且还有例子,也挺不错的。 4....Linux Socket Server 与 Client 例子 个人觉得这只是套接字的入门,如果一个服务器要连接多个客户端呢?以后有机会和大家一起分享下select的套接字用法。

5.5K10

网络编程 - Linux Socket编程

Linux Socket编程 ---- 目录 前言 Socket的功能 Socket基础 Socket类型 基本结构 基本转换函数 基本Socket使用 TCP Socket实例 UDP Socket实例...本篇不涉及太底层的网络原理,仅说明socket的基本使用方法。主要参考《Linux网络编程》。本篇源码获取方式见文底小字。...基本Socket使用   Linux同时支持面向连接和不连接类型的套接字。在面向连接的通讯中服务器和客户机在交换数据之前先要建立一个连接;在不连接通讯中数据被作为信息的一部分被交换。  ...socket主要使用到如下函数: socket()函数 —— 创建套接字。 bind()函数 —— 绑定socket地址信息。...dstAddr.sin_addr.s_addr = inet_addr(ipAddr.c_str()); dstAddr.sin_port = htons(atoi(port.c_str())); // Linux

9.7K50
领券