摘要: Set Set继承自Collection接口,用于存储无序元素,值不能重复。自定义类要使用Set的时候,需要重写hashcode方法和equals方法。 1. HashSet HashSet是基于HashMap实现的: 成员变量: private transient HashMap<E, Objec 阅读全文
posted @ 2020-08-29 20:53 小小小南瓜 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 连接 1. TIME-WAIT Linux 系统停留在 TIME_WAIT 的时间为固定的 60 秒。 #define TCP_TIMEWAIT_LEN (60*HZ) /* how long to wait to destroy TIME-WAIT state, about 60 seconds 阅读全文
posted @ 2020-08-29 20:48 小小小南瓜 阅读(136) 评论(0) 推荐(0) 编辑
摘要: HashMap HashMap继承自AbstractMap,实现了Map: HashMap<K, V> extends AbstractMap<K, V> implements Map<K, V> 流程: 计算hashcode 高位无符号右移16位以参与异或运算(大多数length一般都小于2^16 阅读全文
posted @ 2020-08-29 20:45 小小小南瓜 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 单例模式的几种实现 所谓单例,就是整个程序有且仅有一个实例。该类负责创建自己的对象,同时确保只有一个对象被创建。在Java,一般常用在工具类的实现。 特点 类构造器私有 持有自己类型的属性 对外提供获取实例的静态方法 实现方式: 饿汉模式 线程安全,比较常用,但是会浪费空间,因为一开始就初始化 pu 阅读全文
posted @ 2020-08-29 20:29 小小小南瓜 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 1. 套接字的地址结构 1.1 通用的地址结构: /* POSIX.1g 规范规定了地址族为 2 字节的值. */ typedef unsigned short int sa_family_t; /* 描述通用套接字地址 */ struct sockaddr{ sa_family_t sa_fami 阅读全文
posted @ 2020-08-29 20:18 小小小南瓜 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 一个 TCP 连接可以发多少个 HTTP 请求呢? 1. 打开网址的过程 DNS服务器请求解析(检查host文件) 建立TCP连接,三次握手 发送HTTP请求,请求行、请求头部、空行和请求数据4部分组 服务器返回,服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应 阅读全文
posted @ 2020-08-29 20:16 小小小南瓜 阅读(565) 评论(0) 推荐(0) 编辑
摘要: HTTP “HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范”。 是一个请求响应协议,运行在TCP之上应用层协议。 在互联网世界里,HTTP 通常跑在 TCP/IP 协议栈之上,依靠 IP 协议实现寻址和路由、TCP 协议实现可靠数据传输、DNS 协议实 阅读全文
posted @ 2020-08-29 19:28 小小小南瓜 阅读(178) 评论(0) 推荐(0) 编辑
摘要: TCP TCP握手与分手的完整过程 1. 三次握手 首先客户端向服务器端发送一段TCP报文,包括SYN包和序列号,进入SYN_SENT 服务器端接收到来自客户端的TCP报文之后,结束LISTEN阶段,应答SYN和ACK,确认序列号,发送自己的序列号,进入SYN-RCVD 客户端接收到来自服务器端的确 阅读全文
posted @ 2020-08-29 18:51 小小小南瓜 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 网络分层模型 OSI协议栈层次图: 物理层:网卡、光纤、线缆、集线器等 数据链路层:以太网协议、mac地址控制 网络层:IP协议,IP地址 子网、网关等等 传输层:建立端口到端口的通信,TCP协议、UDP协议等等 会话层 :维护网络中的连接状态、保持会话和同步 表示层:把数据转换为合适、可理解的语法 阅读全文
posted @ 2020-08-29 17:36 小小小南瓜 阅读(115) 评论(0) 推荐(0) 编辑