07 2019 档案
摘要:前言 前言 这篇文章的ArrayList源码是基于jdk1.8版本的源码,如果与前后版本的实现细节出现不一致的地方请自己多加注意。先上一个它的结构图 ArrayList作为一个集合工具,对于我而言它值得我们注意的地方有: 那么我就由这四个细节对ArrayList进行分析。 ArrayList的参数细
阅读全文
摘要:什么是管程? 什么是管程? 它是monitor在操作系统领域中的间接翻译,也可以称它为监视器。那管程的具体作用是什么呢?:它是描述并实现对共享变量的管理与操作 ,使其在多线程环境下能正确执行的一个管理策略。基于这个定义,我们也可以把管程当作一个临界资源区的管理策略,管程的实现可以是多样的。下面我们就
阅读全文
摘要:观察者模式的定义 观察者模式的定义 观察者模式顾名思义,它是一个拥有被监听对象和监听对象两个角色,当被监听对象有状态改变时,所有监听它的对象都会做出自己的响应,这就是观察者模式。在我的理解上,这和发布订阅模式也有一定的类似性。 代码展示 代码展示 首先,我们先来模拟一个场景,生活中的罪犯作为一个被监
阅读全文
摘要:源头的源头——为什么会有这三个问题。 源头的源头——为什么会有这三个问题。 先说并发问题的源头: 那么,这三个问题的源头又是什么呢?——那就是为了缓解CPU、内存、硬盘这三者的速度差异带来的问题。 我们都知道,这三者的速度差异非常的大,无论哪一代计算机都有这样的特征。由于木桶效应,所以就需要有一些方
阅读全文
摘要:什么是适配器模式? 什么是适配器模式? 先从一个例子说起:你有一台Type-c接口的手机,某天你突然想买条高贵的Sony耳机体验是什么感觉。然后行兴高采烈买回来才发现,这个耳机的插头竟然是见鬼的3.5mm插头,你心里一顿***。此时你没钱再买一条耳机,更没有钱换一台手机。怎么办?能想到的办法就是买一
阅读全文
摘要:为什么要用线程池? 为什么要用线程池? 我们都知道,每一次创建一个线程,JVM后面的工作包括:为线程建立虚拟机栈、本地方法栈、程序计数器的内存空间(下图可看出),所以线程过多容易导致内存空间溢出。同时,当频繁的创建和销毁线程容易浪费系统的计算能力在资源的回收和申请中。 另外:创建过多的线程,会导致c
阅读全文
摘要:最近看了一些大佬的博文,文中提到说:学习知识不能一味的死学滥学,在学之前要明白为什么要学这个知识,在实际的应用中怎么运用这个知识。我觉得说的很对,很多时候我学习确实是了解了这是什么原理,但是要说到实际中怎么应用确实比较难总结。但以后我也会尽量总结这个知识点有什么用。 看前总结:为什么要了解垃圾回收中
阅读全文

浙公网安备 33010602011771号