- 博客(17)
- 资源 (4)
- 收藏
- 关注
原创 所谓的稳定,不过是在浪费生命?
二十五岁之前,你想象的人生,应该是有讲不完的故事,挣不完的钱和出不尽的风采。简单来说,就像所有的电视剧安利的偶像人生,一路拼搏,历经磨难,终于当上CEO,赢取白富美,走向人生巅峰,虽然会经历大风大浪,但那都是成功人士必经之路。那时的你,最瞧不起的,就是稳定,你认为那不过是在浪费生命。然而,仅仅过了几年,你就会发现。仅仅为了稳定,你已精疲力尽。刚刚工作,业务能...
2019-10-31 22:04:09 518 2
转载 简单介绍 CPU 的工作原理
内部架构CPU 的根本任务就是执行指令,对计算机来说最终都是一串由 0 和 1 组成的序列。CPU 从逻辑上可以划分成 3 个模块,分别是控制单元、运算单元和存储单元 。其内部架构如下:【1】控制单元控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和 操作控制器OC(Opera...
2019-10-31 20:22:21 637
转载 十大经典排序算法(动图演示)
0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。0.2 算法复杂度0.3 相关概念稳定:如果a原本在b前...
2019-10-31 20:15:06 166
转载 深入浅出 TCP/IP 协议栈
TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构,分别是应用层、传输层、网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求。由于我们大部分时间都工作在应用层,下层的事情不用我们操心;其次网络协议体系本身就很复杂庞大,入门门槛高,因此很难搞清楚TCP/IP的工作原理,通...
2019-10-31 19:49:04 169
原创 软件测试四阶段,单元测试、集成测试、系统测试、验收测试
软件测试的对象包括软件需求、概要设计、详细设计、软件运行环境、可运行程序和软件源代码等。软件测试包括质量、人员、资源、技术和流程五大要素,以及测试覆盖率和测试效率两个目标。软件测试一般分为4个阶段:单元测试、集成测试、系统测试、验收测试。一、单元测试单元测试是对软件中的最小可验证单元进行检查和验证。比如对Java中的类和方法的测试。测试原则:1、尽可能保证测试用例相互独立(测试...
2019-10-29 20:16:06 3488
原创 TCP & UDP
定义:TCP(Transmission ControlProtocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,完成第四层传输层所指定的功能。UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式...
2019-10-29 16:54:37 175
原创 线程通信&进程通信
进程和线程的区别:对于进程来说,子进程是父进程的复制品,从父进程那里获得父进程的数据空间,堆和栈的复制品。而线程,相对于进程而言,是一个更加接近于执行体的概念,可以和同进程的其他线程之间直接共享数据,而且拥有自己的栈空间,拥有独立序列。共同点: 它们都能提高程序的并发度,提高程序运行效率和响应时间。线程和进程在使用上各有优缺点。 线程执行开销比较小,但不利于资源的管理和保护,而进程相反...
2019-10-29 16:46:59 241
转载 TCP协议之3次握手4次挥手
三次握手流程1.客户端发个请求“开门呐,我要进来”给服务器2.服务器发个“进来吧,我去给你开门”给客户端3.客户端有很客气的发个“谢谢,我要进来了”给服务器四次挥手流程1.客户端发个“时间不早了,我要走了”给服务器,等服务器起身送他2.服务器听到了,发个“我知道了,那我送你出门吧”给客户端,等客户端走3.服务器把门关上后,...
2019-10-29 16:44:36 122
转载 TCP协议分析之包结构
TCP首部格式 tcp数据是被封装在IP数据包中的,和udp类似,在IP数据包的数据部分。tcp数据包的格式如下:源端口号和目的端口号(寻址)与udp中类似,用于寻找发端和收端应用进程。这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个,在网络编程中,一般一个IP地址和一个端口号组合称为一个套接字(socket)。 序号(seq):用来标识从TCP发端向TCP收端发送...
2019-10-29 14:16:16 513
转载 C语言常用库函数(含详细用法)
一、数学函数调用数学函数时,要求在源文件中包下以下命令行:#include <math.h> 函数原型说明 功能 返回值 说明 int abs( int x) 求整数x的绝对值 计算结果 dou...
2019-10-28 17:19:10 416
转载 网络抓包工具 wireshark 入门教程
Wireshark(前称Ethereal)是一个网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用...
2019-10-28 15:00:08 654
转载 浅谈Linux的内存管理机制
一 物理内存和虚拟内存我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用...
2019-10-18 16:11:15 125
转载 Linux Ethernet PHY 驱动
今年在FPGA上和IC那边一起验证了MAC/PHY, 基于linux 3.6.4, 这边小结一下代码.phy的初始化顺序第一步phy_initmdio_bus_initbus_register(&mdio_bus_type);//autoprobephy_driver_register(&genphy_driver);第二步, 具体的phy驱动的初...
2019-10-18 15:17:18 1371
转载 Linux pci/pcie驱动
/driver/pci/probe.c/arch/powerpc/kernel/pci_64.c在pci驱动中pci调用pci_scan_device扫描每个设备的每个功能,当发现该功能存在时(通过读设备的vendor及product ID确定),就为该设备功能建立一个完整的pci_dev(通过pci_setup_device 完成),并将该设备功能加入到全局链表及总线链表中,当加载设备驱...
2019-10-18 14:46:53 2889
转载 RAID技术超详细讲解
RAID技术是一种多磁盘技术,面对数据的各方面有着两面性的影响,整体来说优点大于缺点的,下面我将详细介绍一下RAID ,简称磁盘阵列技术。一、RAID 概述 1988 年美国加州大学伯克利分校的 D. A. Patterson 教授等首次在论文 “A Case of Redundant Array of Inexpensive Disks” 中提出了 RAID 概念 [1] ,即廉价...
2019-10-15 14:41:54 936
原创 malloc()和free()的原理及实现
在C语言中只能通过malloc()和其派生的函数进行动态的申请内存,而实现的根本是通过系统调用实现的(在linux下是通过sbrk()系统调用实现)。malloc()到底从哪里得到了内存空间?答案是从堆里面获得空间。也就是说函数返回的指针是指向堆里面的一块内存。操作系统中有一个记录空闲内存地址的链表。当操作系统收到程序的申请时,就会遍历该链表,然后就寻找第一个空间大于所申请空间的堆结点,然后就...
2019-10-14 16:52:06 375
原创 send函数和recv函数
1.send 函数intsend(SOCKETs, constcharFAR*buf, intlen, intflags); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。 该函数的第一个参数指定发送端套接字描述符; 第...
2019-10-14 10:34:35 181
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人