菜鸟笔记
提升您的技术认知

Linux 笔记 第24页

断线重连socket客户端

  若服务端先上线就等待客户端连接,客户端则正常连接。当客户端先上线,服务端还没上线,或当服务端掉线时,则客户端不断重新连接服务端,直到服务端上线。服务端与客户端任意一端掉线,能提示掉线。   服务端为一对一。   客户端需要开两个线程,一...

赞(0)菜鸟菜鸟阅读(3596)

二进制补码计算原理详解

二进制的负数在计算机中采用补码的方式表示。很多人很好奇为什么使用补码,直接使用原码表示多好,看上去更加直观和易于计算。然而事实告诉我们,这种直观只是我们人类的一厢情愿罢了,在计算机看来,补码才是它们最想要的。那么,为什么计算机使用补码更好,...

赞(0)菜鸟菜鸟阅读(5541)

linux screen 命令详解

一、背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必...

赞(0)菜鸟菜鸟阅读(2567)

AddressSanitizer使用介绍

1、关于AddressSanitizer 1.1 引言 也许很多人都听说过类似这样的一个故事:某公司的服务器每隔3个月就会毫无预兆的崩溃一次,怎么也查不出原因,为了避免崩溃可能引发的问题,只得每2个月手动重启一次服务器。在这类有些灵异的事件...

赞(0)菜鸟菜鸟阅读(3253)

tcmalloc内存分配与使用分析

(一)简介         tcmalloc是与glibc、malloc同一级别的内存管理库,tcmalloc会hack所有glibc提供的接口,为调用者提供透明的内存分配。 (二)总体结构 Page...

赞(0)菜鸟菜鸟阅读(3773)

tcmalloc检查内存错误

Google的tcmalloc可以做内存越界检查,也就是查野指针。 野指针是应用程序最难查的崩溃的问题。google真的很强大,赞! 基本原理就是在分配时分配到页的底部,这样越界时就会报错了。也就是PAGE_FENCE,这个选项是可以通过环...

赞(0)菜鸟菜鸟阅读(3700)

什么是进程?什么是线程?进程和线程之间的区别是什么?

什么是进程?什么是线程? 进程是系统中正在运行的一个程序,程序一旦运行就是进程。 进程可以看成程序执行的一个实例。进程是系统资源分配的独立实体,每个进程都拥有独立的地址空间。一个进程无法访问另一个进程的变量和数据结构,如果想让一个进程访问另...

赞(0)菜鸟菜鸟阅读(1627)

Address Sanitizer(Asan)原理及实战定位

Asan ASAN(AddressSanitizer的缩写)是一款面向C/C++语言的内存错误问题检查工具,可以检测如下内存问题: 使用已释放内存(野指针) 堆内存越界(读写) 栈内存越界(读写) 全局变量越界(读写) 函数返回局部变量 内...

赞(0)菜鸟菜鸟阅读(6369)