首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
并发
订阅
欢乐lanmo
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
Java 程序员都该懂的 HashMap
值得一提的是,HashMap 中数组的初始大小为 16,这是为什么呢?这个我会在后面讲 put 方法的时候说到。 我们都知道,Object 类的 hashCode 方法与 HashMap 息息相关,因为 HashMap 便是通过 hashCode 来确定一个 key 在数组中的…
Java核心(二)深入理解线程池ThreadPool
为了方便读者理解,本文会由浅入深,先从线程池的使用开始再延伸到源码解读和源码分析等高级内容,读者可根据自己的情况自主选择阅读顺序和需要了解的章节。 本节会介绍7种线程池的创建与使用,线程池的状态介绍,ThreadPoolExecutor参数介绍等。 newSingleThrea…
理解Java内存模型
最近重新学习一遍《深入学习Java虚拟机》,把之前Java内存模型中模糊的知识重新梳理一遍,这篇文章主要介绍模型产生的问题背景,解决的问题,处理思路,相关实现规则,环环相扣,希望读者看完这篇文章后能对Java内存模型体系产生一个相对清晰的理解,知其然而知其所以然。 在介绍Jav…
啃碎并发(七):深入分析Synchronized原理
记得开始学习Java的时候,一遇到多线程情况就使用synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着学习的进行我们知道在JDK1.5之前synch…
Java并发系列 — 阻塞队列(BlockingQueue)
阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。 支持阻塞的插入方法:当队列满时,队列会阻塞插入元素的线程,直到队列不满。 支持阻塞的移除方法:当队列为空时,获取元素的线程会等待队列变为非空。 阻塞队列常用于生产者和…
JUC解析-AQS(1)
其实关于AQS的解析,在google上有很多的分析文章,既有侧重源码分析的,也有侧重原理的,在这里我想从一个其他的角度来试着分析下这个概念。 独占模式:资源是独占的,一次只能一个线程获取。 共享模式:同时可以被多个线程获取,具体的资源的个数可以通过参数指定。 定义一个变量int…
如何使用 volatile, synchronized, final 进行线程间通信
你是否真正理解并会用 volatile, synchronized, final 进行线程间通信呢,如果你不能回答下面的几个问题,那就说明你并没有真正的理解:1、对 volatile 变量的操作一定具有原子性吗?2、synchronized 所谓的加锁,锁住的是什么?3、final 定义的变量不变的到底是什么?
Java锁,真的有这么复杂吗?
运行上面代码,会发现输出flag的值不是理想中10000,虽然volatile写入时候会通知其他线程的工作内存值无效,从主内存重写读取。i++是三步操作,读取-赋值-写入不能保证原子性。原子性:不能被中断要么成功要么失败。 比如此时主内存的flag值10,线程1和线程2读取到自…
static 关键字相关知识点
主要讲述 static 关键字的用法和作用,以及关于 static 关键字的面试题目。