摘要:
一、前言 今天这篇博客来介绍一下设计模式中非常常用的一种——工厂模式。事实上,工厂模式这个名称只是一个统称,它又分为简单工厂、工厂方法以及抽象工厂。接下来我就来分别介绍一下它们。 二、正文 2.1 针对接口编程 针对接口编程是面向对象程序设计语言中的一个设计原则,这指示我们在编程的过程中,应该尽量的 阅读全文
摘要:
一、前言 今天花了点时间了解了一下JDK1.8中ConcurrentHashMap的实现,发现它实现的主要思想就是依赖于CAS机制。CAS机制是并发中比较重要的一个概念,所以今天这篇博客就来详细介绍一下CAS机制以及Java中对CAS的适用。 二、正文 2.1 乐观锁与悲观锁 在讲CAS之前,先来理 阅读全文
摘要:
一、前言 上个月花了点时间研究了一下 的源码,对 的实现原理有了一个较为深入的了解,今天突然想到有一个常考的面试题—— 与``Hashtable Hashtable Hashtable HashMap HashMap``不是很了解的,可以阅读一下这篇博客: "HashMap源码解读——深入理解Has 阅读全文
摘要:
一、前言 之前做了一个 小项目,需要实现后端持续给前端推送消息的功能,当时最开始使用的是轮询实现,但是效率太低,对资源消耗也大。之后为了解决这个问题,上网查阅资料后,改用了 实现,前后端直接建立全双工的连接传递消息。但是当时只是学习了一下怎么使用,没有具体研究 是什么,以及实现原理。这段时间花了点时 阅读全文
摘要:
一、前言 这篇博客来分析一下 数据传输中发生的粘包、拆包问题,我将描述一下这两种情况的概念,分析它们发生的原因,最后再来谈一谈解决方式。 二、正文 2.1 什么是粘包、拆包 由于 传输协议是面向字节流的传输协议,没有消息保护边界,所以发送方发送的多个数据包,接收方应用层不知如何区分,可能会被当成一个 阅读全文
摘要:
一、前言 今天研究了一下 协议中, 方法与 方法的区别。一研究发现, 和``POST Web GET POST``的区别——浏览器层面以及报文层面。 二、正文 2.1 浏览器层面的区别 和``POST``方法在浏览器层面的区别大部分人或多或少都知道一些,它主要包含以下几个方面: 通过以上区别,我们归 阅读全文
摘要:
一、前言 这篇博客来谈一谈 应用中广泛使用的 、``Session Token Web``应用中起着至关重要的作用,同时也是面试中的高频考点。这篇博客我主要来介绍一下这三种东西的相关概念和它们实现的原理,以及它们之间的区别。 二、正文 2.1 为什么需要它们 首先来说第一个问题,我们为什么需要这三样 阅读全文
摘要:
一、前言 这几天想学一学红黑树这种数据结构,于是上网找了很多篇博客,初看吓了一跳,红黑树竟然如此复杂。连续看了几篇博客后,算是对红黑树有了一些了解,但是它的原理却并不是特别理解。网上的博客,千篇一律的都是在叙述红黑树的操作,如何插入节点、删除节点,旋转、变色等,只关注如何正确构建一棵红黑树,但是却很 阅读全文
摘要:
一、前言 之前过年在家,买了本 来看,看完后一直想写设计模式的系列博客,但是一直没开始。刚好今天看到 这本书上对单例模式的两种多线程形式下的实现方式做了详细的介绍,让我对它们的实现机制有了更深入的了解,所以,借这个机会,来谈一谈单例模式。 二、正文 2.1 什么是单例模式 单例模式是设计模式中比较简 阅读全文
摘要:
一、前言 这两天想学学在 中广泛使用的数据结构——红黑树,但是看博客说学习红黑树之前需要了解 二叉排序树 以及 平衡二叉树 ,所以我花了点事件把这两个数据结构学习了一遍,也自己实现了一下这两种数据结构。可以说这是两种比较复杂的数据结构,尤其是平衡二叉树。但幸运的是,我找到了两篇讲解得非常不错的博客, 阅读全文