首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java基础
订阅
hikariy
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
“锁”,程序员不可逾越的鸿沟
在java中,synchronized关键字,称为内置锁,被synchronized修饰的方法或者代码块,只允许一个线程执行,是典型的独享锁,synchronized的机制,可以参考AQS的实现方式,只是AQS使用显示的用lock.lock()调用,对于synchronized…
Java 集合系列1、细思极恐之ArrayList
ArrayList 底层数据结构为 动态数组 ,所以我们可以将之称为数组队列。 从依赖关系可以看出,ArrayList 首先是一个列表,其次,他具有列表的相关功能,支持快速(固定时间)定位资源位置。可以进行拷贝操作,同时支持序列化。这里我们需要重点关注的是 AbstractLi…
彻底理解synchronized
通过字节码分析以及源码解析深入理解synchronized的使用场景以及背后的实现原理,避免在生产环境出现并发问题,
Java8新特性都到碗里来
对于Java开发者来说,Java8的版本显然是一个具有里程碑意义的版本,蕴含了许多令人激动的新特性,如果能利用好这些新特性,能够大大提升我们的开发效率。Java8的函数式编程能够大大减少代码量和便于维护,同时,还有一些跟并发相关的功能。开发中常用到的新特性如下: 1. 接口的默…
Java内存模型以及happens-before规则
1. JMM的介绍 在上一篇文章中总结了线程的状态转换和一些基本操作,对多线程已经有一点基本的认识了,如果多线程编程只有这么简单,那我们就不必费劲周折的去学习它了。在多线程中稍微不注意就会出现线程安全问题,那么什么是线程安全问题?我的认识是,在多线程下代码执行的结果与预期正确的…
五分钟看懂一致性哈希算法
一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 首先求出…
String,StringBuilder,StringBuffer源码分析
在Java中,对于字符串的操作有这三种:String、StringBuilder、StringBuffer。这三者的效率是:StringBuilder > StringBuffer > String。 先来看下String的源码,如图所示: 从图中我们可以看出,String是有…
Java并发编程:synchronized和锁优化
确保线程互斥的访问代码块,同一时刻只有一个方法可以进入到临界区 保证共享变量的修改能及时可见 有效解决重排序问题 语义上来讲,synchronized主要有三种用法: 修饰普通方法,锁的是当前对象实例(this) 修饰静态方法,锁的是当前 Class 对象(静态方法是属于类,而…
synchronized类锁与对象锁
在平常的开发中我们处理对象及变量的并发访问(保证数据的线程性安全)时都会想到synchronized关键字。当然碰到些具体实例还有其他选择用于保证多线程访问资源的同步性,例如:ReentrantLock、ReentrantReadWriteLock。 从以上两点的定义上可能理解…
真棒! 20 张图揭开内存管理的迷雾,瞬间豁然开朗
既然那么多读者想看,我最近就在疯狂的复习操作系统的知识。 操作系统确实是比较难啃的一门课,至少我认为比计算机网络难太多了,但它的重要性就不用我多说了。 学操作系统的时候,主要痛苦的地方,有太多的抽象难以理解的词语或概念,非常容易被劝退。 即使怀着满腔热血的心情开始学操作系统,不…