自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (2)
  • 收藏
  • 关注

原创 生产者消费者之双缓冲区--legend050709

(1)背景 (1.1)减少锁的冲突 在生产者-消费者模式中,我们常常会使用到队列,这个队列在多个线程共享访问时存在互斥和竞争操作, 意味着每次访问都要加锁。用一个缓冲区,生产者和消费者需要先获取到缓冲区的锁才能进行put和get操作,每一次put和get都需要获取一次锁,这需要大量的同步与互斥操作,十分损耗性能。 如果采用双缓冲区的话,一个缓冲区bufferA用于生产者执行put操作,一个缓...

2019-12-24 20:00:54 1516 1

原创 linux多线程协作--legend050709

(1)三个线程协作打印ABCABCABC (2)两个线程协作打印奇数偶数 -------------------------------- (1)三个线程协作打印ABCABCABC (1.1)思路 并发编程核心是三大块:分工、互斥和同步。 1)互斥 这道题并不涉及共享变量,所以不需要考虑互斥,首先排除。 2)同步 一眼就能看出这道题考的就是同步,那怎么同步呢?很容易想到的方法,就...

2019-12-23 22:54:25 133

原创 hashMap & linkedHashMap & concurrentHashMap 原理----legend050709

(1)hashMap (2)linkedHashMap ---------------- (1)hashMap (1.1)hash Hash 就是把任意长度的输入(又叫做预映射, pre-image),通过哈希算法,变换成固定长度的输出(通常是整型),该输出就是哈希值。这种转换是一种 压缩映射 ,也就是说,散列值的空间通常远小于输入的空间。不同的输入可能会散列成相同的输出,从而不可能...

2019-12-21 15:45:08 333

原创 链表的分类--legend050709

链表的分类如下 (1) 单向链表 (2)单向循环链表 (3)双向链表 (4)双向循环链表 ------ (1) 单向链表 (1.1)特点 每个节点只包含一个指针,即后继指针。 单链表有两个特殊的节点,即首节点和尾节点。用首节点地址表示整条链表,尾节点的后继指针指向空地址null。 性能特点:插入和删除节点的时间复杂度为O(1),查找的时间复杂度为O(n)。 (2)单向循环链...

2019-12-20 14:09:01 997

原创 缓存淘汰机制实现-LRU-LFU——legend050709

(1)缓存是什么 缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中都有着非广泛的应用,比如常见的CPU缓存、数据库缓存、浏览器缓存等等。 (2)为什么需要缓存 CPU在从内存读取数据的时候,会先把读取到的数据加载到CPU的缓存中。而CPU每次从内存读取数据并不是只读取那个特定要访问的地址,而是读取一个数据块(cacheline)并保存到CPU缓存中,然后下次访问内存数据的时候就会先从...

2019-12-19 18:07:01 328

java对于Json文件的解析范例

java语言解析json文件,其中包含各种解析json文件所需要的jar包; 包含对于时间戳转化为时间的方法; 以及文件的读写,arraylist类容易出现的问题等。

2014-06-18

编译原理学习大全,详解

编译原理最详细知识,详细介绍DFA,NFA,LL(1),SLR(1),LR(1),语法制导翻译

2013-05-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除