佛系更新

CodeBear的园子

分享低端知识

摘要: 上一篇博客,我们介绍了ArrayBlockQueue,知道了它是基于数组实现的有界阻塞队列,既然有基于数组实现的,那么一定有基于链表实现的队列了,没错,当然有,这就是我们今天的主角:LinkedBlockingQueue。ArrayBlockQueue是有界的,那么LinkedBlockingQue 阅读全文
posted @ 2019-04-16 09:29 CodeBear 阅读(801) 评论(1) 推荐(0) 编辑
摘要: 清明节和朋友去被抖音带火的一个餐厅,下午两点钟取晚上的号,前面已经有十几桌了,四点半餐厅开始正式营业,等轮到我们已经近八点了。餐厅分为几个区域,只有最火的区域(在小船上)需要排号,其他区域基本上是随到随吃的,最冷清的区域几乎都没什么人。菜的价格异常的贵,味道也并不好。最后送出两张图: 好了,进入今天 阅读全文
posted @ 2019-04-08 09:16 CodeBear 阅读(963) 评论(1) 推荐(3) 编辑
摘要: 在上一篇博客,简单的说下了AQS的基本概念,核心源码解析,但是还有一部分内容没有涉及到,就是AQS对条件变量的支持,这篇博客将着重介绍这方面的内容。 条件变量 基本应用 我们先通过模拟一个消费者/生产者模型来看下条件变量的基本应用: 当有数据的时候,生产者停止生产数据,通知消费者消费数据; 当没有数 阅读全文
posted @ 2019-04-01 09:44 CodeBear 阅读(930) 评论(2) 推荐(1) 编辑
摘要: 在一篇博客中,我们看了下CopyOnWriteArrayList的源码,不是很难,里面用到了一个可重入的排他锁: ReentrantLock,这东西看上去和Synchronized差不多,但是和Synchronized是完全不同的东西。 Synchronized锁的特性是JVM保证的,Reentra 阅读全文
posted @ 2019-03-26 09:42 CodeBear 阅读(967) 评论(0) 推荐(3) 编辑
摘要: Java并发包提供了很多线程安全的集合,有了他们的存在,使得我们在多线程开发下,可以和单线程一样去编写代码,大大简化了多线程开发的难度,但是如果不知道其中的原理,可能会引发意想不到的问题,所以知道其中的原理还是很有必要的。 今天我们来看下Java并发包中提供的线程安全的List,即CopyOnWri 阅读全文
posted @ 2019-03-18 09:10 CodeBear 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 记得,我刚工作的时候,同事说了一个故事:在他刚工作的时候,他同事有一天兴冲冲的跑到公司说,你们知道吗,公司请了个大牛。大牛?对,那人会写AJAX!哇,真是大牛啊,跟着他,可以学不少东西啊。我听了笑了,但有点难以理解,因为现在几乎只要是一个开发,都会写AJAX,怎么写个AJAX就算大牛呢?后来我明白了 阅读全文
posted @ 2019-03-11 10:02 CodeBear 阅读(14663) 评论(14) 推荐(29) 编辑
摘要: 前几天刷朋友圈的时候,看到一段话: 如果现在我是傻逼,那么我现在不管怎么努力,也还是傻逼,因为我现在的傻逼是由以前决定的,现在努力,是为了让以后的自己不再傻逼 。话糙理不糙,如果妄想现在努力一下,马上就不再傻逼,那是不可能的,需要积累,需要沉淀,才能慢慢的不再傻逼。 好了,鸡汤喝完。 今天我们的内容 阅读全文
posted @ 2019-03-04 09:11 CodeBear 阅读(1212) 评论(3) 推荐(5) 编辑
摘要: 观察者模式可以说是众多设计模式中,最容易理解的设计模式之一了,观察者模式在Spring中也随处可见,面试的时候,面试官可能会问,嘿,你既然读过Spring源码,那你说说Spring中运用的设计模式吧,你可以自信的告诉他,Spring中的ApplicationListener就运用了观察者模式。 让我 阅读全文
posted @ 2019-02-23 19:16 CodeBear 阅读(1453) 评论(2) 推荐(1) 编辑
摘要: 这是春节后的第一篇博客,我在构思这篇博客的时候,一度想放弃,想想要不要换个东西写,因为毕竟个人水平有限,Spring源码实在博大精深,不是我这个菜的抠脚的菜鸡可以驾驭的,怕误人子弟,还有就是源码分析类的博客实在是太难写了,和一般的博客真心不同,可能写了很多,自己都不知道自己在写些什么,但是还是要坚持 阅读全文
posted @ 2019-02-14 14:05 CodeBear 阅读(9383) 评论(10) 推荐(29) 编辑
摘要: 再过几个小时,就要回家过春节了,今天说些简单点的东西,大家在看C 代码的时候,一定会对这样的写法非常迷茫:在一个类中会出现一个空的静态构造方法。这不是多此一举吗,这样做的目的是什么?今天我就来说说这个内容。 前段时间,小伙伴遇到一个问题,百思不得其解,我先来模拟下这个问题: 代码比较简单,就是有两个 阅读全文
posted @ 2019-02-02 11:05 CodeBear 阅读(1478) 评论(11) 推荐(8) 编辑