首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java
订阅
outsiders
更多收藏集
微信扫码分享
微信
新浪微博
QQ
25篇文章 · 0订阅
45张图搞定!ThreadLocal的最牛辨析!
ThreadLocal和Synchonized都用于解决多线程并发访问。可是ThreadLocal与Synchronized有着本质的区别。Synchronized是利用锁的机制,使变量或代码代码块在某一个时刻仅仅能被一个线程访问。 从名字我们就可以看到ThreadLocal叫…
AQS 原理和 ReentrantLock 源码
加锁的本质?主要是为了在访问临界资源的时候,能够实现一个等待唤醒得有序操作。 Java 中的锁的分类: sychronized 和 Lock 。
Java HashMap源码分析(含散列表、红黑树、扰动函数等重点问题分析)
这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解。所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项目,专注 Java 后端面试题 + 解析 + 重点知识详解 + 精选文章的开源项目,希望它…
Reentrantlock和AQS的原理及应用
特性Reentantlock是lock的实现类,他的特性如下reentrantlock的锁机制实现依赖于aqs,所以我们主要讲解aqscas机制cas也就是乐观锁,是一种异步策略。cas机制当中使用了
2w字 + 40张图带你参透并发编程!
在计算机最早期的时候,没有操作系统,执行程序只需要一种方式,那就是从头到尾依次执行。任何资源都会为这个程序服务,在计算机使用某些资源时,其他资源就会空闲,就会存在 浪费资源 的情况。 操作系统的出现为我们的程序带来了 并发性,操作系统使我们的程序能够同时运行多个程序,一个程序就…
Java程序员面试必备:Volatile全方位解析
volatile关键字是Java虚拟机提供的的最轻量级的同步机制,它作为一个修饰符出现,用来修饰变量,但是这里不包括局部变量哦。我们来看个demo吧,代码如下: 可以发现线程t2,虽然把stop设置为true了,但是线程t1对t2的stop变量视而不可见,因此,它一直在死循环r…
Java开源框架中的设计模式以及应用场景
设计模式是软件设计中常见问题的典型解决方案,你可以通过对其进行定制来解决代码中的特定设计问题。 关于设计模式,网上有很多讲解。但大部分都是Demo示例,看完有可能还是不知道怎么用。 本文笔者将从设计模式入手,看一看在优秀的Java框架/中间件产品中,不同的设计模式应用场景在哪里…
老生常谈,HashMap的死循环
最近的几次面试中,我都问了是否了解HashMap在并发使用时可能发生死循环,导致cpu100%,结果让我很意外,都表示不知道有这样的问题,让我意外的是面试者的工作年限都不短。 由于HashMap并非是线程安全的,所以在高并发的情况下必然会出现问题,这是一个普遍的问题,虽然网上分…
java7 HashMap 源码详解
测试可知Integer.highestOneBit获得的结果 1.二的幂次方 2.大于等于传入值 。点进入看下源码实现 总结:highestOneBit 1.右移动+或运算的目的是将所有位改为1 这个称为全1 2.i - (i >>> 1) 首先 i >>> 1的目的是获取比全…
java 8 HashMap 源码解析
7.第三个id:就是链表。会遍历链表,如果链表已经有8个,插入第九个会通过treeifyBin转为红黑树。遍历链表的同时也会判断是否有hash一样的节点,如果有就会覆盖value 8.当插入的逻辑走完,在最后就会判断是否需要扩容,条件就是容器大小大于阈值。这个点跟1.7不一样,…