并发 - CAS 的操作、实现、原理及优化
简介 在 Java 中很多工具类都在使用 CAS(Compare And Set)用以提升并发的效率以及数据的准确性质。 concurrent 和 concurrent.atomic 下面的很多 AtomicInteger 等类 concu...
简介 在 Java 中很多工具类都在使用 CAS(Compare And Set)用以提升并发的效率以及数据的准确性质。 concurrent 和 concurrent.atomic 下面的很多 AtomicInteger 等类 concu...
简介 在 jdk1.6 之前我们会说 synchronized 是个重量级锁,在此之后 JVM 对其做了很多的优化,之后使用 synchronized 线程在获取锁的时候根据竞争的状态可以是偏向锁、轻量级锁和重量级锁。 而在关于锁的技术中,...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
要玩转 happens-before 我们需要先简单介绍下几个基本概念 高速缓存 随着 CPU 的快速发展它的计算速度和内存的读写速度差距越来越大,如果还是去读写内存的话那么 CPU 的处理速度就会收到内存读写速度的限制,为了弥补这种差距,...
阻塞 I/O 在这种 IO 模型的场景下,我们是给每一个客户端连接创建一个线程去处理它。不管这个客户端建立了连接有没有在做事(发送读取数据之类),都要去维护这个连接,直到连接断开为止。创建过多的线程就会消耗过高的资源,以 Java BIO ...
OOP-Klass Model(Ordinary Object Point-Klass Model)指的是普通对象指针,用来描述 java 类和对象在 JVM 中的表现形式,OOP 用来表示 java 实例在 JVM 中的表现,Klass ...
堆(Heap) 堆是一块线程共享的内存区域,用来存储对象,包括数组等 栈(VM Stack) java虚拟机栈:每个方法在访问的时候都会创建一个栈帧,栈帧是每个线程私有的内存,不会被其它线程访问到,用于保存方法中用到的参数、局部变量、返回值...
LinkedHashMap 原理及源码分析 设计简介 思考问题 源码分析-变量定义 源码分析-构造方法 源码分析-插入数据 源码分析-删除数据 源码分析-获取数据 源码分析-fail-fast 设计简介 先来看一下它的继承体系 可以看到 实...
LinkedHashMap 原理及源码分析 设计简介 思考问题 源码分析-变量定义 源码分析-构造方法 源码分析-插入数据 源码分析-删除数据 源码分析-获取数据 源码分析-fail-fast 设计简介 首先看看它的继承体系 LinkedH...
public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, java.io.Serializ...
LinkedHashSet 源码分析 public class LinkedHashSet<E> extends HashSet<E> implements Set<E>, Cloneable, java...