2019年9月27日

PostgreSQL-内存上下文

摘要: 内存上下文背景: 需要经常处理大量以指针传值的查询,存在内存泄漏的问题,直到查询结束才能收回内存。所以实现了新的内存管理机制-内存上下文(MemoryContext) 内存上下文通俗解释: 一个内存上下文相当于一个进程环境,进程环境间不互相影响,pgSQL提供了在内存上下文进行内存操作的函数:pal 阅读全文

posted @ 2019-09-27 17:22 Itsad 阅读(1495) 评论(0) 推荐(2) 编辑

postgresql源代码的结构

摘要: bootstrap - 通过initdb创建最初的数据库模板 几乎PostgreSQL的每一个操作都需要存取系统表,那么如何创建这些系统表呢?不能以通常的方式创建这些系统表并向其中插入数据,因为表的创建和插入要求系统表已经存在。这一部分代码的目的就是使用一种仅仅在bootstrap过程中使用的特殊方 阅读全文

posted @ 2019-09-27 17:10 Itsad 阅读(1537) 评论(0) 推荐(0) 编辑

2018年2月6日

Linux磁盘空间被占用问题,根目录满了,df和du占用不一样

摘要: linux里的文件被删除后,空间没有被释放是因为在Linux系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。 状态为deleted为标记被删除,其实该文件并没有 阅读全文

posted @ 2018-02-06 10:03 Itsad 阅读(622) 评论(0) 推荐(0) 编辑

2018年1月26日

linux命令大全

摘要: http://man.linuxde.net/ 阅读全文

posted @ 2018-01-26 09:22 Itsad 阅读(147) 评论(0) 推荐(0) 编辑

2018年1月10日

IP协议

摘要: IP服务的特点 IP协议是TCP/IP协议族的动力,为上层协议提供无状态、无连接、不可靠的服务。 无状态:指IP通信双方不同步传输数据的状态信息,因此所有的IP数据报的发送、传输和接收都是相互独立、没有上下文关系。它的缺点就是无法处理乱序和重复的IP数据报。 无连接:指IP通信双方都不长久地维持对方 阅读全文

posted @ 2018-01-10 11:29 Itsad 阅读(486) 评论(0) 推荐(0) 编辑

2018年1月9日

TCP、IP、ARP协议之间的工作关系

摘要: TCP协议与ARP协议位于不同的层,不能用“并列”的思维来考虑。TCP位于传输层,而ARP工作在网络层(也有说法是数据链路层,主要看怎么理解),但实际上掌管网络层的大boss是IP协议,ARP协议用于实现IP地址向MAC地址的转换,不过是个跑龙套的。 除此之外,网络层想要把数据发出去还要依靠数据链路 阅读全文

posted @ 2018-01-09 11:16 Itsad 阅读(5048) 评论(0) 推荐(3) 编辑

2017年12月25日

程序出现问题后

摘要: 1.当程序一直运行,但没数据生成,有可能是打开文件个数超过1024个(一个进程), 用lsof 查看进程打开了多少文件:lsof -p 进程号 | wc -l 阅读全文

posted @ 2017-12-25 10:12 Itsad 阅读(201) 评论(0) 推荐(0) 编辑

2017年12月23日

HTTP(超文本传输协议)

摘要: HTTP是以超文本传输为目的而设计的应用层协议,属于基于TCP/IP实现的协议。 浏览器也属于基于套接字的客户端,因为连接到任意web服务器端时,浏览器内部也会创建套接字。只不过浏览器多了一项功能,将服务器端传输的HTML格式的超文本解析为视图。 Web服务器端是以HTTP协议为基础传输超文本的服务 阅读全文

posted @ 2017-12-23 22:21 Itsad 阅读(1603) 评论(0) 推荐(0) 编辑

2017年12月17日

多线程

摘要: #线程相对于进程的优点: 线程的创建和上下文切换比进程的创建和上下文切换更快。 线程间交换数据时无需特殊技术。 #线程和进程的差异: 多进程>每个进程的内存空间都由保存全局变量的“数据区”、malloc等函数动态分配提供空间的堆(Heap)、函数运行时使用到的栈(Stack)构成。每个进程都具有这种 阅读全文

posted @ 2017-12-17 22:07 Itsad 阅读(136) 评论(0) 推荐(0) 编辑

2017年12月15日

syslog.conf文件

摘要: 1: syslog.conf的介绍 对于不同类型的Unix,标准UnixLog系统的设置,实际上除了一些关键词的不同,系统的syslog.conf格式是相同的。syslog采用可配置的、统一的系统登记程序,随时从系统各处接受log请求,然后根据/etc/syslog.conf中的预先设定把log信息 阅读全文

posted @ 2017-12-15 16:55 Itsad 阅读(7691) 评论(0) 推荐(0) 编辑

logger命令

摘要: 通过logger命令记录日志 logger是一个shell命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息。 logger 语法logger [options] [messages] **options (选项):** -d, --udp 使用数据 阅读全文

posted @ 2017-12-15 15:58 Itsad 阅读(489) 评论(0) 推荐(0) 编辑

2017年12月11日

gdb

摘要: 1.进入gdb: #gdb test -q(uiet) 其中test为目标可执行文件,-q代表不打印那一大串版本版权信息之类的刷屏字幕。 这里有个小常识就是用gcc编译目标文件test时,记得-g,表示可调试。 另外,直接进入gdb而未加载可执行文件,或者加载了目标文件,想换一个其他的——可以使用 阅读全文

posted @ 2017-12-11 14:37 Itsad 阅读(302) 评论(0) 推荐(0) 编辑

2017年11月30日

二、数据的存储结构

摘要: 存储结构是通过计算机语言所编制的程序来实现的,因而是依赖具体的计算机语言的。 顺序存储:将数据结构中各元素按照其逻辑顺序存放于存储器一片连续的存储空间中(如一维数组),如表L=(a1,a2,........,an)的顺序结构,如下图所示: 链式存储:将数据结构中各元素分布到存储器的不同点,用地址(或 阅读全文

posted @ 2017-11-30 22:38 Itsad 阅读(449) 评论(0) 推荐(0) 编辑

一、数据的逻辑结构

摘要: 线性逻辑结构: 一个对一个。如线性表、栈、队列 特点:除了第一个和最后一个数据元素之外,数据中的每个元素都有且只有一个直接前驱和一个直接后继 第一个元素只有一个直接后继 最后一个元素只有一个直接前驱 树型逻辑结构: 一个对多个。 特点:有且只有一个特定的称为根(Root)的数据元素(节点)。 树根节 阅读全文

posted @ 2017-11-30 22:19 Itsad 阅读(1339) 评论(0) 推荐(0) 编辑

IO多路复用—epoll

摘要: epoll可以理解为event poll,不同于忙轮询和无差别轮询,epoll只会把哪个流发生了怎样的I/O事件通知我们。此时我们对这些流的操作都是有意义的。复杂度降低到了O(k),k为产生I/O事件的流的个数。 epoll的相关操作: epoll_create 创建一个epoll句柄,一般epfd 阅读全文

posted @ 2017-11-30 11:40 Itsad 阅读(205) 评论(0) 推荐(0) 编辑

2017年11月29日

归并排序

摘要: 归并排序是创建在归并操作上的一种有效的排序算法,效率为O(nlogn),1945年由冯·诺伊曼首次提出。 归并排序的实现分为递归实现与非递归(迭代)实现。递归实现的归并排序是算法设计中分治策略的典型应用,我们将一个大问题分割成小问题分别解决,然后用所有小问题的答案来解决整个大问题。非递归(迭代)实现 阅读全文

posted @ 2017-11-29 15:21 Itsad 阅读(159) 评论(0) 推荐(0) 编辑

快速排序

摘要: 在平均状况下,排序n个元素要O(nlogn)次比较。在最坏状况下则需要O(n^2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他O(nlogn)算法更快,因为它的内部循环可以在大部分的架构上很有效率地被实现出来。 快速排序使用分治策略(Divide and Conquer)来把一个序列分 阅读全文

posted @ 2017-11-29 14:55 Itsad 阅读(192) 评论(0) 推荐(0) 编辑

2017年11月28日

IO多路复用—select

摘要: int select(int nfds, fd_set *rdset, fd_set *wrset, fd_set *exset, struct timeval *timeout); selsect存在的缺点: 如果没有I/O事件产生,我们的程序就会阻塞在select处。但是依然有个问题,我们从se 阅读全文

posted @ 2017-11-28 14:35 Itsad 阅读(598) 评论(0) 推荐(0) 编辑

2017年11月27日

scanf读入一个字符避免读入上一个换行符

摘要: scanf()读取单个字符的时候,如果上面的语句也有scanf, 可能会读入换行符,导致读取的字符不是自己写入的字符。 如果用scanf("%c",&ch),那么程序不会忽略为了输入而按下的回车键操作,而是认为回车键是后续操作而继续响应; 而scanf(" %c", &ch)在%c之前空格会告诉sc 阅读全文

posted @ 2017-11-27 11:08 Itsad 阅读(5089) 评论(0) 推荐(3) 编辑

2017年11月23日

网络数据包解析

摘要: TCP/IP协议数据包,一般由应用层、传输层、网络层、数据链路层封装而成。 四层协议各自的作用: 数据链路层实现了网卡接口的驱动程序。 网络层实现了数据包的选路和转发。 传输层为两台主机上的应用程序提供端到端(end to end)的通信。 应用层负责处理应用程序的逻辑。 #1、先封装的协议头是传输 阅读全文

posted @ 2017-11-23 22:11 Itsad 阅读(12228) 评论(0) 推荐(0) 编辑

导航