”死磕Java“ 的搜索结果

     死磕Java——多线程下的集合1.1.ArrayList都知道ArrayList是线程不安全的,如果在多线程下使用了ArrayList会产生什么样的情况,简单看一段代码。public static void main(String[] args) {List list = new ArrayList...

     (一)面试题:Java已经有了int等基本类型了,为什么还需要包装类?(二)基本数据类型与包装类的对应关系(三)包装类的自动拆箱与装箱(四)包装类总结 一、数据类型分类 数据类型可以分为基本数据类型(8个)和...

     工作快一年了,近期打算研究一下JDK的源码,也就因此有了死磕java系列 ArrayList 是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, ...

     死磕Java——ReentrantLockReentrantLock是java.util.concurrent.locks包下一个可重入的默认是非公平的锁,ReentrantLock类是Lock接口的一个使用很频繁的实现类,类结构如下图:前面说过JMM模型要求的是可见性,原子...

     问题 (1)读写锁是什么? (2)读写锁具有哪些特性? (3)ReentrantReadWriteLock是怎么实现读写锁的? (4)如何使用ReentrantReadWriteLock实现高效安全的TreeMap? 简介 读写锁是一种特殊的锁,它把对共享资源...

     工作快一年了,近期打算研究一下JDK的源码,也就因此有了死磕java系列 LinkedList 是一个继承于AbstractSequentialList的双向链表,链表不需要capacity的设定,它也可以被当作堆栈、队列或双端队列进行操作。 ...

     此篇博客所有源码均来自JDK 1.8信号量Semaphore是一个控制访问多个共享资源的计数器,和CountDownLatch一样,其本质上是一个“共享锁”。友情提示:欢迎关注公众号【芋道源码】。?关注后,拉你进【源码圈】微信群...

     volatile可以说是Java虚拟机提供的最轻量级的同步机制了,但是它并不容易被正确地理解,以至于很多人不习惯使用它,遇到多线程问题一律使用synchronized或其它锁来解决。 了解volatile的语义对理解多线程的特性具有....

     1—在Java中,对基本数据类型的变量和赋值操作都是原子性操作; 2—包含了两个操作:读取i,将i值赋值给j 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索...

     一、死磕Java——CAS前面我们说到volatile不保证原子性,解决办法就是使用AtomicInteger代替int,但是为什么使用AtomicInteger就可以保证了原子性了,是因为AtomicInteger实现的就是CAS思想和Unsafe的支持。...

     此篇博客所有源码均来自JDK 1.8在没有...在Java SE5后,Java提供了Lock接口,相对于Synchronized而言,Lock提供了条件Condition,对线程的等待、唤醒操作更加详细和灵活。下图是Condition与Object的监视器方法的对比

     作者 :大明哥 ... 目录 : 《【死磕 Java 并发】—– 深入分析 synchronized 的实现原理》 《【死磕 Java 并发】—– 深入分析 volatile 的实现原理》 ... 《【死磕 Java 并发】—– Java 内存模...

     AQS的全称是AbstractQueuedSynchronizer,它的定位是为Java中几乎所有的锁和同步器提供一个基础框架。 在之前的章节中,我们一起学习了ReentrantLock、ReentrantReadWriteLock、Semaphore、CountDownLatc...

     简介 同步系列到此就结束了,本篇文章对同步系列做一个总结。 脑图 下面是关于同步系列的一份脑图,列举了主要的知识点和问题点,看过本系列文章的同学可以根据脑图自行回顾所学的内容,也可以作为面试前的准备。...

10  
9  
8  
7  
6  
5  
4  
3  
2  
1