自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HashMap底层的扩容机制(以及2倍扩容的原因)

文章目录HashMap底层的扩容机制resize扩容resize源码源码文字说明HashMap底层为什么是2倍扩容?HashMap底层的扩容机制resize扩容HashMap会在两个地方进行resize(扩容):1 ,HashMap实行了懒加载, 新建HashMap时不会对table进行赋值, 而是到第一次插入时, 进行resize时构建table;2, 当HashMap.size 大...

2020-04-29 17:38:01 11575

原创 HashMap底层实现原理(增删查改)

文章目录HashMap底层实现原理(增删查改)HashMap的构造方法put方法根据key获取value删除keyHashMap底层实现原理(增删查改)HashMap的构造方法注意:不同于Java7中的构造方法,Java8对于数组table的初始化,并没有直接放在构造器中完成,而是将table数组的构造延迟到了resize中完成// 构造方法一:带有初始容量的构造,负载因子使用默认值0....

2020-04-29 16:35:01 886

原创 HashMap底层实现原理

文章目录HashMap实现原理为什么重写equals()和hashCode()方法?equals()和hashCode()的区别和联系HashMap的哈希函数扩容机制HashMap实现原理1,HashMap实现了Map接口.2,HashMap的默认初始容量是163. HashMap的最大容量为2的30次方4.HashMap的默认负载因子是0.755. 何时链表和红黑树相互转化...

2020-04-29 15:20:55 697

原创 Java哈希表以及哈希冲突

文章目录Java哈希表概念冲突避免冲突哈希函数的设计方法常见哈希函数负载因子调节解决哈希冲突两种常见的方法是:闭散列和开散列哈希表和 java 类集的关系Java哈希表概念顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。顺序查找时间复杂度为O(N),平衡树中为树的高度,即O(log N),搜索的效率取决于搜索过程中元素的比较次...

2020-04-29 14:32:19 1020

原创 解决哈希冲突两种常见的方法是:闭散列和开散列

文章目录解决哈希冲突两种常见的方法是:闭散列和开散列闭散列开散列/哈希桶代码实现哈希桶性能分析解决哈希冲突两种常见的方法是:闭散列和开散列闭散列闭散列:也叫开放定址法,当发生哈希冲突时,如果哈希表未被装满,说明在哈希表中必然还有空位置,那么可以把key存放到冲突位置中的“下一个” 空位置中去1. 线性探测比如场景,现在需要插入元素44,先通过哈希函数计算哈希地址,下标为4,因此44理论上...

2020-04-29 14:30:51 1272

原创 Java的二叉搜索树

文章目录Java的二叉搜索树概念查找插入删除代码实现二叉搜索树Java的二叉搜索树概念二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树查找插入如果树为空树,即根 == null,直接插入如果树不是空树,...

2020-04-29 13:37:34 209

原创 Java中Map和Set

文章目录Map和SetMap 的使用Map.EntryMap和Set一般把搜索的数据称为关键字(Key),和关键字对应的称为值(Value),所以模型会有两种:纯 key 模型,即 Set 要解决的事情,只需要判断关键字在不在集合中即可,没有关联的 value;Key-Value 模型,即 Map 要解决的事情,需要根据指定 Key 找到关联的 Value。Map 的使用Map的官方...

2020-04-29 13:26:54 406

原创 java泛型以及泛型的使用

文章目录泛型泛型类的定义泛型类的使用类型擦除泛型类的使用-通配符通配符-上界通配符-下界泛型中的父子类型泛型方法泛型的限制泛型泛型类的定义语法class 泛型类名称<类型形参列表> {// 这里可以使用类型参数}class ClassName<T1, T2, ..., Tn> {}class 泛型类名称<类型形参列表> extends 继承类/...

2020-04-29 13:15:10 252 1

原创 应用层协议DNS和NAT技术以及NAPT技术

文章目录应用层协议DNSDNS背景NAT技术NAPT应用层协议DNS域名系统(Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。DNS协议是用来将域名转换为IP地址(也可以将IP地址转...

2020-04-29 12:43:29 769

原创 数据链路层(以太网、MTU、ARP协议)

文章目录数据链路层认识以太网以太网帧格式MTUARP协议数据链路层认识以太网"以太网" 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等;例如以太网中的网线必须使用双绞线; 传输速率有10M, 100M, 1000M等;以太网是当前应用最广泛的局域网技术; 和以太网并列的还有令牌环网,...

2020-04-29 12:25:53 535

原创 网络层(ip地址划分以及路由)

文章目录网络层IP 地址分为五类特殊的IP地址路由网络层IP 地址分为五类A类 0.0.0.0到127.255.255.255B类 128.0.0.0到191.255.255.255C类 192.0.0.0到223.255.255.255D类 224.0.0.0到239.255.255.255E类 240.0.0.0到247.255.255.255这种划分方案的局限性很快显现出来...

2020-04-28 11:26:02 1144

原创 网络层(ip协议以及网段划分)

文章目录网络层IP协议协议头格式网段划分网络层IP协议IP协议有两个版本, IPv4和IPv6. 凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4 IP地址是在IP协议中, 用来标识网络中不同主机的地址; 对于IPv4来说, IP地址是一个4字节, 32位的整数; 我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一...

2020-04-28 11:16:53 587

原创 TCP协议(面向字节流、粘包、以及相关协议)

文章目录TCP协议(面向字节流、粘包、以及相关协议)TCP协议段格式面向字节流粘包问题TCP异常情况TCP小结基于TCP应用层协议TCP/UDP对比TCP协议(面向字节流、粘包、以及相关协议)TCP全称为 “传输控制协议(Transmission Control Protocol”). 要对数据的传输进行一个详细的控制;TCP协议段格式面向字节流创建一个TCP的socket, 同时在...

2020-04-28 10:58:58 1179

原创 TCP协议机制(拥塞控制,延迟应答,捎带应答)

文章目录Tcp协议机制拥塞控制延迟应答捎带应答Tcp协议机制TCP全称为 “传输控制协议(Transmission Control Protocol”). 要对数据的传输进行一个详细的控制;可靠性:校验和序列号(按序到达)确认应答超时重发连接管理流量控制拥塞控制提高性能:滑动窗口快速重传延迟应答捎带应答拥塞控制因为网络上有很多的计算机, 可能当前的网络状态就已经比...

2020-04-28 10:46:43 1103

原创 TCP协议的机制(滑动窗口和流量控制)

文章目录TCP协议的安全机制滑动窗口流量控制TCP协议的安全机制滑动窗口确认应答策略, 对每一个发送的数据段, 都要给一个ACK确认应答. 收到ACK后再发送下一个数据段. 这样做有一个比较大的缺点, 就是性能较差. 尤其是数据往返的时间较长的时候.没有滑动窗口只能发送一个有了滑动窗口一发一收的方式性能较低, 那么我们一次发送多条数据, 就可以大大的提高性能。窗口大小指的是无需等...

2020-04-25 16:19:16 1047

原创 Tcp协议(连接管理机制)三次握手以及四次挥手

文章目录Tcp协议三次握手以及四次挥手TCP协议的三次握手Tcp协议的四次挥手TCP状态转换的一个汇总Tcp协议三次握手以及四次挥手TCP协议的三次握手下面这张图就是三次握手TCP协议的三次握手的过程客户端向服务器发送连接请求(SYN),服务器向客户端应答(ACK)并且向客户端发出连接请求(SYN),两个合并发送,客户端收到之后给服务器做出应答(ACK)。因为每次建立连接都是单方向建...

2020-04-25 16:04:39 327

原创 Tcp协议基础

文章目录Tcp协议一、概念二、TCP协议段格式确认应答(ACK)机制超时重传机制Tcp协议一、概念TCP全称为 “传输控制协议(Transmission Control Protocol”). 要对数据的传输进行一个详细的控制;二、TCP协议段格式源/目的端口号: 表示数据是从哪个进程来, 到哪个进程去;4位TCP报头长度: 表示该TCP头部有多少个32位bit(有多少个4字节); ...

2020-04-25 15:41:42 183

原创 java对象的三种比较方式

java对象的比较文章目录java对象的比较一、元素的比较基本类型的比较对象的比较1, 覆写基类的equal2,基于Comparble接口类的比较3, 基于比较器比较三种方式对比一、元素的比较基本类型的比较在Java中,基本类型的对象可以直接比较大小。public class Test{public static void main(String[] args) {int a = 1...

2020-04-22 16:44:00 495

原创 java 优先级队列(Priority Queue)和堆

文章目录优先级队列一、概念优先级队列一、概念队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队列时,可能需要优先级高的元素先出队列,该中场景下,使用队列显然不合适,比如:在手机上玩游戏的时候,如果有来电,那么系统应该优先处理打进来的电话。在这种情况下,我们的数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。这种数据结构就...

2020-04-22 16:23:29 1083

空空如也

空空如也

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

TA关注的人

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