自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 谈谈你对红黑树的理解

在谈红黑树之前,先来说一说二叉搜索树以及平衡二叉树,因为平衡二叉树是为了弥补二叉搜索树而发明出来的,而红黑树又是为了弥补平衡二叉树。1、二叉搜索树二叉搜索树比较简单,它是一棵二叉树,而且满足这样一个性质:对于树上的每一个节点,它左子树上的节点的值都比它小,而右子树上的节点的值都比它大。如下,就是一棵二叉搜索树:当我们需要往一棵二叉搜索树中插入节点时,只需要从根节点开始,依次比较,若比根节点小,则向左走,继续和左子节点比较,反之继续和右子节点比较,以此类推。这样的操作其实就和二分差不多,在节点

2021-10-07 16:16:55 292

原创 TCP的“三次握手”和“四次挥手”

TCP:传输控制协议。是一种面向连接的、可靠的、基于字节流的传输层通信协议。建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:三次握手过程:第一次握手是在建立连接,客户端发送连接请求报文段,把标有SYN的数据包发送给服务器端即接收端。第二次握手是服务器端接收到客户端标有SYN的报文段,同时发送标有SYN/ACK的数据包给客户端。并分配资源。第三次握手是客户端接收到服务端标有SYN/ACK的数据包,向服务器端发送标有ACK的数据包。并分配资源。四次挥手.

2021-07-29 15:01:23 371

原创 彻底搞懂Java线程池的工作原理

一、线程池的基础知识创建线程需要占用一定的操作系统资源,在高并发情况下,频繁的创建和销毁线程会大量消耗CPU和内存资源,对程序性能造成很大的影响。为了避免这一问题,Java提供了线程池(通过线程复用,减少了频繁创建和销毁线程的开销)。1、线程池的生命周期线程池从诞生到死亡,会经历五种生命周期:RUNNING、SHUTDOWN、STOP、TIDYING、TERMINATEDRUNNING:表示线程池处于运行状态,能够接受新提交的任务且能对已添加的任务进行处理,RUNNING状态是线程池的初始状

2021-07-20 14:44:16 493

原创 Integer类型的100==100和1000==1000有啥区别?

先来看一下示例:是不是觉得很奇怪?先搞清楚==的比较:1、对于基本数据类型,==比较的是值。2、对于引用数据类型,==比较的是他们在内存中的存放地址。(确切的说是堆内存地址),如果两个引用指向同一个对象,那么用==表示它们是相等的;否则即使内容相同,那==两边也不会相等。打开Integer的源码,会发现有这么一段代码也就是说,对于-128-127之间的数,赋值的时候会直接从缓存IntegerCache中获取,不会再创建新的对象。因此,上面的变量a和b指向同一个对象,因此==比

2021-04-27 21:17:45 519

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除