- 博客(6)
- 资源 (9)
- 收藏
- 关注
转载 常见网络编程面试题整理
转载地址 1、TCP和UDP的区别:1)TCP提供面向连接的传输,通信前要先建立连接(三次握手机制);UDP提供无连接的传输,通信前不需要建立连接。2)TCP提供可靠的传输(有序,无差错,不丢失,不重复);UDP提供不可靠的传输。3)TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组;UDP是面向数据报的传输,没有分组开销。4)TCP提供拥塞控制和流量控制机制;UDP不提供拥塞控
2017-08-31 20:30:02 531
原创 两个单链表相交,求开始相交的点
先遍历两个链表,求得它们的长度,n, m, 长度长得链表先走 |n-m| 步,再同时走,没走一步都看指针是否相等,相等则为首次相交得点,跳出循环。
2017-08-30 10:18:03 379
转载 堆和栈的区别(转过无数次的文章)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。
2017-08-23 08:48:37 214
原创 kill 杀不死进程的原因
kill -9发送SIGKILL信号将其终止,但是以下两种情况不起作用:a、该进程处于”Zombie”状态(使用ps命令返回defunct的进程)。 此时进程已经释放所有资源,但还未得到其父进程的确认。”zombie”进程要等到下次重启时才会消失,但它的存在不会影响系统性能。b、 该进程处于”kernel mode”(核心态)且在等待不可获得的资源。处于核心态的进程忽略所有信号处理,因此对
2017-08-23 08:41:35 8635
转载 排序算法总结
排序主要用这六种:O(n^2)的有:冒泡排序、插入排序、选择排序;O(nlogn)的有:快排、归并排序、堆排序;冒泡排序:原理是无序区两两比较,每趟得到一个最大的放在无序区最后; 算法:外循环是趟数[0,n-1), 内循环是无序区个数[0, n-i-1);循环体是比较[j]和[j+1];插入排序:是把数组分成有序区和无序区两部分,每次从无序区取出一位作为t
2017-08-21 09:34:05 237
转载 Linux 线程同步的三种方法
线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。Linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。 一、互斥锁(mutex) 通过锁机制实现线程间的同步。 初始化锁。在Linux下,线程的互斥量数据类型是pthread_mutex_t。在使用前,要对它进行初始化。 静态分配: pthread_mutex_t mutex = PTHREAD
2017-08-21 09:12:23 404
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人