
Java
文章平均质量分 74
Code-HAN
历经大难,必有大成,但行好事,莫问前程
展开
-
三次挥手和四次握手
三次挥手和四次握手面试官: 请你讲一下三次挥手 和四次握手候选者: 好的三次握手:客户端会随机生成出序列号.(这里的序列号一般叫做client_isn),并且把标志位置设置为SYN(意味着要连接),然后把该报文送给服务端客户端发送完SYN 报文以后,自己就进入了syn_sen 状态服务端接收到了客户端的请求后,自己也初始化对应的序列号(server_isn)在确认号字段填上了client_isn +1,把该报文发送给客户端,服务端的状态变成SYN-REVD客户端收到服务端发送的报文后,就知道原创 2022-04-12 10:40:49 · 220 阅读 · 0 评论 -
二叉树和平衡二叉树
为什么需要树这种数据结构数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可, 删除效率也很好)。缺点:在进行检索时,效率仍然较低,比如(检索某个值,需要从头节点开始遍历)树存储方式的分析能提高数据存储,读取的效率, 比如利用 二叉排序树(Binary Sort原创 2022-04-07 11:45:39 · 1208 阅读 · 0 评论 -
单链表和双链表
单链表链表是有序的列表,但是它在内存中的存储如下:链表是以节点的方式来存储, 是链式存储 每个节点包含 data 域(存储数据),next 域(指向下一个节点)链表的各个节点不一定是连续存储 链表分为带头节点的链表和 没有头节点的链表,根据实际的需求来确定单链表的应用实例使用带 head 头的单向链表实现 –水浒英雄排行榜管理完成对英雄人物的增删改查操作, 注: 删除和修改,查找 可以考虑学员独立完成,也可带学员完成 1) 第一种方法在添加英雄时,直接添加到链表的尾部第二种方式在添加英原创 2022-04-06 16:04:02 · 2987 阅读 · 0 评论 -
ArrayList源码分析
ArrayList的数据结构ArrayList的底层数据结构就是一个数组,数组元素的类型为Object类型,对ArrayList的所有操作底层都是基于数组的。ArrayList的线程安全性对ArrayList进行添加元素的操作的时候是分两个步骤进行的第一步先在object[size]的位置上存放需要添加的元素;第二步将size的值增加1由于这个过程在多线程的环境下是不能保证具有原子性的,因此ArrayList在多线程的环境下是线程不安全的。具体举例说明在单线程运行的情况下,如果Size =转载 2022-04-06 11:29:39 · 1395 阅读 · 0 评论