Hexo 是一款优秀的博客框架,在使用 Hexo 搭建一个属于自己的博客网站后,我们还需要对其进行配置,使得 Hexo 更能满足自己的需求 这里所说的配置文件,是位于站点根目录下的 _config.yml 文件,可以直接用记事本打开进行编辑,文件中的具体配置项如下: 1.Site 网站的个性化描述,大家需要根据自己的实际情况认真填写 Setting 描述 title 网站标题 subtitle 网站副标题 description 网站描述 keywords 网站关键字 author 网站作者 l…
本篇我们来介绍一个最常用的Map结构--HashMap 关于HashMap,关于其基本原理,网上对其进行讲解的博客非常多,且很多都写的比较好,所以.... 这里直接贴上地址: 关于hash算法: Hash算法 Hash时取模一定要模质数吗? 关于HashMap: 深入Java集合学习系列:HashMap的实现原理 漫画:什么是HashMap? JDK 源码中 HashMap 的 hash 方法原理是什么? What is the use of Holder class in HashMap?(H…
流的概念 JAVA程序通过流来完成输入/输出.流是生产或消费信息的抽象,流通过JAVA的输入输出与物理设备链接,尽管与它们链接的物理设备不尽相同,所有流的行为具有相同的方式.这样就意味一个输入流能够抽象多种不同类型的输入:从磁盘文件.从键盘或从网络套接字:同样,一个输出流可以输出到控制台.磁盘文件或相连的网络. 在我们平时接触的输入/输出流中,有这样一个概念必须要弄明白,何谓输入.何谓输出?讨论这个问题的前提是要知道以什么为参考物,这个参考物就是程序或者内存.输入:就是从磁盘文件或者网络等外部的…
PriorityQueue:优先级队列; 在介绍该类之前,我们需要先了解一种数据结构--堆,在有些书上也直接称之为优先队列: 堆(Heap)是是具有下列性质的完全二叉树:每个结点的值都 >= 其左右子结点的值,称为最大堆(Max Heap,或称大顶堆);每个结点的值都 <= 其左右子结点的值,称为最小堆(Min Heap,或称小顶堆): Note:上述定义摘自<大话数据结构>,其定义并不是很准确,堆有很多种,完全二叉树只是其一种实现方式,也是最常见的一种实现方式.在<数据结构…
IdentityHashMap,使用什么的跟HashMap相同,主要不同点在于: 数据结构:使用一个数组table来存储 key:value,table[2k] 为key, table[2k + 1] 为value,也即: key:value ==> table[2k]:table[2k + 1](HashMap使用数组 + 链表); IdentityHashMap 中的 key 和 value 通过==来比较是否相等(HashMap通过equals()); IdentityHashMap 中的…
ArrayDeque,从名字上就可以看出来,其是通过数组实现的双端队列,我们先来看其源码: /** 有自动扩容机制; 不是线程安全的; 不允许添加null; 作为栈使用时比java.util.Stack快; 作为队列使用时比LinkedList快; 支持fast-fail; * @since 1.6 */ public class ArrayDeque<E> extends AbstractCollection<E> implements Deque<E>, Clone…
前言 在上一篇初识Vue核心中,我们已经熟悉了vue的两大核心,理解了Vue的构建方式,通过基本的指令控制DOM,实现提高应用开发效率和可维护性.而这一篇呢,将对Vue视图组件的核心概念进行详细说明. 什么是组件呢? 组件可以扩展HTML元素,封装可重用的HTML代码,我们可以将组件看作自定义的HTML元素. 为什么要用到组件呢? 为了可重用性高,减少重复性开发,让我们可以使用独立可复用的小组件来构建大型应用. 基本 一.组件注册 1.通过Vue.extend()创建,然后由component来…
关于WeakHashMap其实没有太多可说的,其与HashMap大致相同,区别就在于: 对每个key的引用方式为弱引用; 关于java4种引用方式,参考java Reference 网上很多说 弱引用指向 Entry,这种说法是完全错误的 在key被回收时,对应的value并没有回收,只有在调用WeakHashMap的方法时才会回收value; 具体请看下列源码解析: /** * 数据结构原理几乎与HashMap一致; * WeakHashMap 不会阻止Entry.key被回收; * Weak…
垃圾收集器 新生代收集器 1.Serial收集器 特点: 单线程工作,收集的时候就会停止其他所有工作线程,用户不可知不可控,会使得用户界面出现停顿. 简单高效,是所有收集器中额外内存消耗最少的. 没有线程交互的开销,单线程收集效率高. 对于客户端模式下的虚拟机是一个很好的选择. 采用标记复制算法. 2.ParNew收集器 是Serial收集器的多线程版本.采用多条GC线程并行地清理垃圾.任然需要在清理过程中停止一切用户线程. 特点: 多线程执行,适合多处理器环境,单处理器效率不如Serial.…
简介 jdk原文 A synchronization aid that allows a set of threads to all wait for each other to reach a common barrier point. CyclicBarriers are useful in programs involving a fixed sized party of threads that must occasionally wait for each other. The bar…