2020-03-03 计算机网络 计算机网络——多路复用与多路分解 一、前言 最近在看《计算机网络——自顶向下方法》这本书,读了一部分之后发现,这真是一本非常不错的计算机网络入门书籍,想要学习计算机网络的人可以去买来看看。今天刚读到运输层这一章,开头详细讲解了运输层的多路复用与多路分解,我觉得颇有收获,所以写篇博客分享一下这一部分内容。 二、解析 2.1 应用层、运输层以及网络层的关系 想要解析多路复... 阅读全文…
2020-02-27 计算机网络 计算机网络——HTTP协议详解 一、前言 前段时间为了研究计算机网络,看了看《计算机网络自顶向下方法》这本书。不得不说这真是一本好书,内容详细,而且讲解的浅显易懂,采用了大量类比的方式进行讲解,而不是单纯的叙述理论,同时在每一章的后面都有大量的练习题以及很有意思的编程题,所以开头先来推荐一波。这本书我暂时只看到了第二章,刚看完HTTP的内容,所以写一篇HTTP相关的博客,就当是记笔记了。 二、详解... 阅读全文…
2020-02-26 Java容器 HashMap源码解读——逐句分析resize方法的实现 一、前言 最近在阅读HashMap的源码,已经将代码基本过了一遍,对它的实现已经有了一个较为全面的认识。今天就来分享一下HashMap中比较重要的一个方法——resize方法。我将对resize方法的源代码进行逐句的分析。 若想要看懂这个方法的源代码,首先得对HashMap的底层结构和实现有一个清晰的认识,若不清楚的,可以看看我之前写的一篇博客,... 阅读全文…
2020-02-25 Java容器 HashMap源码解读——逐句分析get和put方法的实现 一、前言 最近在研究HashMap的源码,经过这几天的研究,我对HashMap的底层实现有了一个比较清晰的认识。今天就来写一篇博客,带大家阅读一下HashMap中,最最重要的两个方法——get和put的代码实现。(注:以下代码基于JDK1.8) 若想要看懂这两个方法的源代码,首先得对HashMap的底层结构有一个清晰的认识,若不清楚的,可以看看我... 阅读全文…
2020-02-24 Java容器 HashMap源码解读——深入理解HashMap高效的原因 一、前言 Java的容器是是JavaSE的重中之重,同时也是面试中的必考点,所以对容器源码的研究必不可少。今天我研究了一下HashMap的源码,颇有心得,所以写篇博客分享一下HashMap的实现原理。内容主要包括HashMap的底层结构,hash函数的原理,以及HashMap的容量机制等内容。内容很多,但是这些内容彼此相辅相成,并不适合分开来叙述,所以将它们放在一起进行... 阅读全文…
2020-01-17 数据结构与算法 Java实现最小栈的两种方式 一、前言 最近依旧在刷《剑指offer》的题目,然后今天写到了一道蛮有意思的题目,叫做包含min函数的栈,解题思路有点妙,写篇博客记录一下。 二、描述 这道题目的描述是:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 然后这题给出的原始代码如下,具体方法代码需要自己... 阅读全文…
2020-01-15 JavaSE 浅析Java泛型中extends和super作用 一、前言 最近依然在看《Java编程思想》这本书,说实话,非常晦涩难懂,除了讲的比较深入外,翻译太烂也是看不懂的一个重要原因。今天在看泛型这一章,也算是有些收获吧,所以写篇博客,记录一下其中比较容易遗忘的一个知识点:在泛型中,extends和super关键字的含义和用法。 二、描述 学过Java的人应该都知道,extends和super这两个关... 阅读全文…
2020-01-14 数据结构与算法 链表中环的入口节点 前言 今天刷《剑指offer》的编程题,遇见一道挺有意思的题目,叫链表中环的入口节点,写篇博客记录一下。 描述 给出一个链表,在这个链表中至多存在一个环,要求:若链表中有环,则返回环的入口节点,若没有环,返回null。 思路 我们可以设置两个指针求解此问题:一个快指针fast,每次向前走两个节点,一个慢指针low,每次... 阅读全文…
2020-01-10 数据结构与算法 如何去除链表中值重复的节点 前言 最近在刷《剑指offer》的题,其中有一道题目叫做删除链表中重复的节点,我想了半天没想到比较好的解决办法,于是看了看大佬的解析(菜哭了)。不看不知道,一看吓一跳,这尼玛写的也太妙了,忍不住写篇博客记录一下这个解题思路和代码。 题目描述 在一个排好序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如... 阅读全文…
2020-01-09 JavaSE 在Java中如何使用正则表达式 前言 最近放寒假了,时间比较多,终于有时间继续研究Java的基础知识。这几天在看《Java编程思想》这本书,刚好看完了正则表达式这一张章节,写一遍博客记录以下,防止忘记(虽然还是会忘记)。 介绍什么是正则表达式? 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为”元字... 阅读全文…