- 博客(5)
- 收藏
- 关注
原创 tcp3次握手和4次挥手
三次握手: 第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服.
2020-09-06 17:18:59
181
原创 关于线程的一些知识点
** 线程的几个重要的概念 ** 1 同步和异步 同步和异步通常用来形容一次方法调用。同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者可以继续后续的操作。 关于异步目前比较经典以及常用的实现方式就是消息队列:在不使用消息队列服务器的时候,用户的请求数据直接写入数据库,在高并发的情况下数据库压力剧增,使得响应速度变慢。但是在使用消息队列之后,用户的请求数据发送给消息队列之后立即 返回,再由消息队列的消费者进程从消息队列
2020-08-14 12:05:20
173
原创 关于一些List的基础操作(笔记类型)
前面的格式 import java.util.Arrays; public class Mylist { int size; private Object[] elementData; public Mylist() { } 增加方法 add : 可以向数组属性中依次存储 Object,数组内容 存满时,需实现动态扩容 public void ZengArrayList(int size) { elementData=new Object[10]; } public void
2020-08-03 20:41:17
195
原创 关于finally指令的执行问题(面试用)
一般情况下,finally指令哪怕在跳出循环指令结束的情况下依然会被执行(删除内存、关机、关掉程序等外部因素除外) 以下情况就是内部关闭jvm导致finally无法执行 关于引用数据类型和基本数据类型利用finally指令进行赋值的结果不同问题,如下两图所示 1.引用数据类型 栈内存中存储的是位置,finally执行修改的是堆中的数据,最后位置指向依旧是不变的,所以引用数据类型的finally指令可以更改数值。 2.基本数据类型 基本数据类型的return返回值是复制一个当前数值,哪怕原数值 被final
2020-08-03 20:10:35
323
原创 快速排序Java实现(小白入门)
1.思想 快速排序同样和归并排序一样,用到了分而治之的思想。 总结来说:快排通过选取随机一个数字作为基准(我们选取最后一个,可优化),通过一轮排序后,这个基准数字的左端都比它小,右端都比它大;然后分别再对左右端序列分别按照同样的方法排序,直到整个序列有序。 算法实现:只需要设计左右指针分别向中间扫描,左指针遇到比基准值小的数,右指针找到比基准值大的数,就交换左右指针当前下标的值。倘若左右指针交叉,就把右指针此时下标的值和基准值交换。 下面是代码实现 package com.gokibe.sorts; .
2020-07-31 21:58:09
343
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅