摘要: 1、CAS是什么 CAS就是compareAndSwap的缩写即我们所说的比较交换。cas是一种基于锁的操作。而且是乐观锁。 先看一个代码 结果 true current data is 2019 false current data is 2019 再看图 大致理解:主物理内存是5,t1和t2线程 阅读全文
posted @ 2020-03-08 18:55 晓看天色暮看云 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 一、volatile是什么? volatile是一种轻量级的同步机制 二、volatile的三种特性? 1.保证可见性 2.不保证原子性 3.禁止指令重排 三、JMM(内存模型)的概念 JMM简单介绍 在说volatile之前,我们需要知道JMM。JMM是什么呢,JMM表示JAVA内存模型,他是一种 阅读全文
posted @ 2020-03-08 17:25 晓看天色暮看云 阅读(175) 评论(0) 推荐(0) 编辑
摘要: HashMap是什么 HashMap在java是很长用的数据结构,简单的看他就是一个数组,然后对插入的元素计算出来一个对应hash值,根据这个hash值对数组的长度进行取模,然后就会得到一个下标,通过这个下标就会定位到数组里的具体的一个地方,这个地方存放的就是这个元素。其实HashMap的底层是数据 阅读全文
posted @ 2020-02-28 09:04 晓看天色暮看云 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。隐马尔可夫模型(HMM)可以用五个元素来描述,包括2个状态集合和3个概率矩阵:1. 隐含状态 S、2. 可观测状态 O、3. 初始状 阅读全文
posted @ 2019-12-20 00:42 晓看天色暮看云 阅读(2744) 评论(0) 推荐(0) 编辑
摘要: 平时使用双数组字典树的场景蛮多的,但是一直没有明白它的构建过程,所以通过各位大佬的文章,总结出自己可以理解的双数组字典树的构建过程,结合一些实际的例子,体会一下具体的用法。 整个文章的思路都是以Trie为基础,然后根据下面几种Trie依次简单梳理一下。 在看双数组字典数之前我们先看看什么是字典树。 阅读全文
posted @ 2019-12-18 00:33 晓看天色暮看云 阅读(320) 评论(0) 推荐(0) 编辑