摘要: OSI模型、TCP/IP模型及对两者折中的五层协议模型(较多采用) (下面的每一层为上面层提供服务) 以下自上而下简要介绍各层的作用: 5. 应用层 应用层的任务是通过应用进程间的交互来完成特定网络应用。 对于不同的网络应用需要不同的应用层协议。(如域名系统DNS,支持万维网应用的HTTP协议,支持 阅读全文
posted @ 2021-08-24 16:07 aguo718 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 总体来说,可分为以下几个过程: DNS解析 TCP连接 浏览器向服务器发送http请求 服务器处理请求,并向浏览器返回http报文 浏览器解析渲染前台页面 连接结束 参考链接:https://segmentfault.com/a/1190000006879700 阅读全文
posted @ 2021-08-24 14:40 aguo718 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 1. 运行时数据区域 Java程序运行时,会划分不同的区域。 JDK1.8之前和JDK1.8略有区别,如图。 1) 程序计数器 是内存中很小的一块内存空间。 主要作用有两点: a. 字节码解释器通过修改程序计数器来依次读取指令,实现代码的流程控制,如顺序执行、选择、循环、异常处理; b. 在多线程的 阅读全文
posted @ 2021-08-23 16:06 aguo718 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 二叉树: (一些性质、公式) \(n=n_0+n_1+n_2\) \(n=n_1+2n_2+1\)(\(n=分支数+1\)、\(分支数=n_1+2n_2\)) \(n_0=n_2+1\)(由以上两式可得) 满二叉树: 深度为$k$ ,且含有$2^k-1$个节点的二叉树 完全二叉树: 深度为k,n个节 阅读全文
posted @ 2021-08-20 16:44 aguo718 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 1. 为什么要使用多线程? 1)从计算机底层来说 线程可比作轻量级进程,是程序执行的最小单位,线程间切换和调度的成本远远小于进程; 另外,多核CPU可支持多个线程同时执行,降低了线程上下文切换的开销。 单核计算机时代: 主要是为了提高CPU和IO设备等的综合利用率(如果只有一个线程,CPU执行时,I 阅读全文
posted @ 2021-08-20 10:46 aguo718 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 1. 集合是做什么的? Java集合类位于Java.util包中,是一个用来存放对象的容器。 2. Java集合框架 可以发现上述所有的集合类,除Map之外,都实现了Iterator接口。 Iterator可用来遍历集合类,提供有hasNext(), next(), remove()三个方法; 其子 阅读全文
posted @ 2021-08-19 16:24 aguo718 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 归并排序就是将两个或两个以上的有序表合并成一个有序表的过程 将两个有序表合并成一个有序表的过程称为2-路归并 算法过程如图所示: 相邻两个有序子序列的归并 void Merge(RedType R[], RedType &T[], int low, int mid, int high){ int i 阅读全文
posted @ 2021-07-05 19:49 aguo718 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 选择排序的基本思想:每一趟从待排序的记录中选出关键字最小的记录,按顺序放到已排序的记录序列的最后,直到全部排完为止。 1. 简单选择排序 简单选择排序也称作直接选择排序。 算法过程如图: 算法描述: void SelectSort(SqList &L) { for (int i=1; i<L.len 阅读全文
posted @ 2021-07-05 16:51 aguo718 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 交换排序的基本思想是:两两比较待排序记录的关键字,一旦发现两个记录不满足次序要求时则进行交换,直到整个序列全部满足要求为止。 1. 冒泡排序 冒泡排序是一种最简单的交换排序算法,通过两两比较相邻记录的关键字,使关键字小的记录如气泡一般逐渐往上“漂浮”(左移),关键字大的记录如石块一样逐渐向下“坠落” 阅读全文
posted @ 2021-07-04 14:26 aguo718 阅读(1221) 评论(0) 推荐(0) 编辑
摘要: 1. 直接插入排序 直接插入排序是一种最简单的排序方法,基本操作是将一条记录插入到已排好序的有序表中,从而得到一个新的、记录数量增1的有序表。 直接插入排序过程: 算法描述: void insertSort(SqList &L) { for(int i=2; i<=L.length; i++) { 阅读全文
posted @ 2021-06-25 14:16 aguo718 阅读(203) 评论(0) 推荐(0) 编辑