首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Ethan不想说话51714
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
10
文章 10
沸点 0
赞
10
返回
|
搜索文章
赞
文章( 10 )
沸点( 0 )
死磕java concurrent包系列(五)基于AQS的条件队列把LinkedBlockingQueue“扒光”
LinkedBlockingQueue是一个基于链表的阻塞队列,实际使用上与ArrayBlockingQueue完全一样,我们只需要把之前烤鸡的例子中的Queue对象替换一下即可。如果对于ArrayBlockingQueue不熟悉,可以去看看https://juejin.im/…
死磕java concurrent包系列(四)基于AQS的条件队列彻底理解ArrayBlockingQueue
peek():获取但不移除此队列的头;如果此队列为空,则返回 null。 这就是阻塞队列基本的增删查方法,接下来我们看一下如何使用它。 ArrayBlockingQueue中的元素存在公平访问与非公平访问的区别,对于公平访问队列,被阻塞的线程可以按照阻塞的先后顺序访问队列,即先…
死磕java concurrent包系列(三)基于ReentrantLock理解AQS的条件队列
上一篇我们讲了AQS中的同步队列队列,现在我们研究一下条件队列。 在java中最常见的加锁方式就是synchorinzed和Reentrantlock,我们都说Reentrantlock比synchorinzed更加灵活,其实就灵活在Reentrantlock中的条件队列的用法…
死磕java concurrent包系列(二)基于ReentrantLock理解AQS同步队列的细节和设计模式
之前介绍过并发问题的解决方式就是一般通过锁,concurrent包中最重要的接口就是lock接口,它可以显示的获取或者释放锁,对于lock接口来说最常见的实现就是ReetrantLock(可重入锁),而ReetrantLock的实现又离不开AQS。 https://juejin…
死磕java concurrent包系列(一)从乐观锁、悲观锁到AtomicInteger的CAS算法
这篇文章主要是为了让大家通过乐观锁和悲观锁出发,理解CAS算法,因为CAS是整个Concurrent包的基础。 悲观锁:悲观的认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。Java中,synchronized关键字和…
彻底理解Netty,这一篇文章就够了
有了Netty,你可以实现自己的HTTP服务器,FTP服务器,UDP服务器,RPC服务器,WebSocket服务器,Redis的Proxy服务器,MySQL的Proxy服务器等等。 HTTP服务器之所以称为HTTP服务器,是因为编码解码协议是HTTP协议,如果协议是Redis协…
VSCode 小鸡汤 第00期 —— 安装和入门
简介这将是一个新的系列,将会以VisualStudioCode(后文都简称为VSCode啦)的操作,环境配置,插件介绍为主,为大家不定期的介绍VSCode的一些操作技巧,所以取名VSCode小鸡汤,本
HBase 内核组件协调及RegionServer JVM参数调优-OLAP商业环境实战
本套技术专栏是作者(秦凯新)平时工作的总结和升华,通过从真实商业环境抽取案例进行总结和分享,并给出商业应用的调优建议和集群环境容量规划等内容,请持续关注本套博客。QQ邮箱地址:1120746959@qq.com,如有任何学术交流,可随时联系。 HBase中Master的角色被弱…
函数式思维
自从大四看了三章《SICP》之后我就自诩为一个函数式编程爱好者,之前也在公司分享过一个 Haskell 的 Topic,效果非常糟糕,讲到后来已经没剩几个人了,只得草草收场。在写这篇文章的时候我突然想起来,之前还发过一个朋友圈,跟人论述我对范畴论一些概念的理解,翻了翻朋友圈找到…
下一页
关注了
62
关注者
3
收藏集
0
关注标签
31
加入于
2018-08-01