摘要: 关于Redis的五大数据类型,它们分别为:String、List、Hash、Set、SortSet。本文将会从它的底层数据结构、常用操作命令、一些特点和实际应用这几个方面进行解析。对于数据结构的解析,本文只会从大的方面来解析,不会介绍详细的代码实现。 String 1.实现结构 String是Red 阅读全文
posted @ 2019-09-15 16:41 半生瓜丶 阅读(5549) 评论(0) 推荐(2) 编辑
摘要: 在昨天参加了东哥的笔试,选择题做的还算可以,但是还有道编程题和关于jdk8的Stream特性难住了。鉴于此用博客总结一下这道编程题,并结合Stream特性来简化代码,熟悉Api。 题目描述 某校在积极推行无人监考制度,但是总有学生是不自觉的,如果将两个很熟的异性朋友放在同一个考场里,他们就会交流甚至 阅读全文
posted @ 2019-08-25 20:09 半生瓜丶 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 平时每个开发者都会讨论数据量大时,sql的优化问题。但是并不是每个人都会有100w的数据量可以用来实战,那么今天我们就自己动手,模拟一个100w数据量的表。 创建原理 其实创建的方法有很多,有快的也有慢的。本博客中写的当然不是最快的那个,但确实是比较好操作和理解的。那么我先来说明一下它的原理:它是利 阅读全文
posted @ 2019-08-11 12:08 半生瓜丶 阅读(1971) 评论(2) 推荐(1) 编辑
摘要: 通用线程模型 通用线程模型 在很多研发当中,实际应用是基于一个理论再进行优化的。所以,在了解JVM规范中的Java线程的生命周期之前,我们可以先了解通用的线程生命周期,这有助于我们后续对JVM线程生命周期的理解。 首先,通用的线程生命周期有五种,分别是:新建状态(NEW)、可运行状态(RUNNABL 阅读全文
posted @ 2019-08-07 22:05 半生瓜丶 阅读(238) 评论(0) 推荐(1) 编辑
摘要: 前言 前言 这篇文章的ArrayList源码是基于jdk1.8版本的源码,如果与前后版本的实现细节出现不一致的地方请自己多加注意。先上一个它的结构图 ArrayList作为一个集合工具,对于我而言它值得我们注意的地方有: 那么我就由这四个细节对ArrayList进行分析。 ArrayList的参数细 阅读全文
posted @ 2019-07-30 22:24 半生瓜丶 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 什么是管程? 什么是管程? 它是monitor在操作系统领域中的间接翻译,也可以称它为监视器。那管程的具体作用是什么呢?:它是描述并实现对共享变量的管理与操作 ,使其在多线程环境下能正确执行的一个管理策略。基于这个定义,我们也可以把管程当作一个临界资源区的管理策略,管程的实现可以是多样的。下面我们就 阅读全文
posted @ 2019-07-26 17:01 半生瓜丶 阅读(2191) 评论(0) 推荐(1) 编辑
摘要: 观察者模式的定义 观察者模式的定义 观察者模式顾名思义,它是一个拥有被监听对象和监听对象两个角色,当被监听对象有状态改变时,所有监听它的对象都会做出自己的响应,这就是观察者模式。在我的理解上,这和发布订阅模式也有一定的类似性。 代码展示 代码展示 首先,我们先来模拟一个场景,生活中的罪犯作为一个被监 阅读全文
posted @ 2019-07-24 14:42 半生瓜丶 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 源头的源头——为什么会有这三个问题。 源头的源头——为什么会有这三个问题。 先说并发问题的源头: 那么,这三个问题的源头又是什么呢?——那就是为了缓解CPU、内存、硬盘这三者的速度差异带来的问题。 我们都知道,这三者的速度差异非常的大,无论哪一代计算机都有这样的特征。由于木桶效应,所以就需要有一些方 阅读全文
posted @ 2019-07-20 16:00 半生瓜丶 阅读(668) 评论(0) 推荐(1) 编辑
摘要: 什么是适配器模式? 什么是适配器模式? 先从一个例子说起:你有一台Type-c接口的手机,某天你突然想买条高贵的Sony耳机体验是什么感觉。然后行兴高采烈买回来才发现,这个耳机的插头竟然是见鬼的3.5mm插头,你心里一顿***。此时你没钱再买一条耳机,更没有钱换一台手机。怎么办?能想到的办法就是买一 阅读全文
posted @ 2019-07-10 17:41 半生瓜丶 阅读(332) 评论(0) 推荐(1) 编辑
摘要: 为什么要用线程池? 为什么要用线程池? 我们都知道,每一次创建一个线程,JVM后面的工作包括:为线程建立虚拟机栈、本地方法栈、程序计数器的内存空间(下图可看出),所以线程过多容易导致内存空间溢出。同时,当频繁的创建和销毁线程容易浪费系统的计算能力在资源的回收和申请中。 另外:创建过多的线程,会导致c 阅读全文
posted @ 2019-07-05 15:13 半生瓜丶 阅读(10365) 评论(0) 推荐(1) 编辑