源码阅读
微风--轻许--
纵一生,与君相伴,不负岁月,不负卿 ...
展开
-
JAVA 内存模型 (Java Memory Model,JMM)
JAVA内存模型 Java内存模型(Java Memory Model,JMM) 是在硬件内存模型基础上更高层的抽象,它屏蔽了各种硬件和操作系统对内存访问的差异性,从而实现让Java程序在各种平台下都能达到一致的并发效果。 主内存与工作内存: 除了主内存,每条线程还有自己的工作内存,此处可与CPU的高速缓存进行类比。 工作内存中保存着该线程使用到的变量的主内存副本的拷贝,线程对变量的操作...转载 2020-03-22 23:59:27 · 604 阅读 · 0 评论 -
java 并发包之 LongAdder 源码分析
简介 LongAdder是java8中新增的原子类,在多线程环境中,它比AtomicLong性能要高出不少,特别是写多的场景。 它是怎么实现的呢?让我们一起来学习吧。 原理 LongAdder的原理是,在最初无竞争时,只更新base的值,当有多线程竞争时通过分段的思想,让不同的线程更新不同的段,最后把这些段相加就得到了完整的LongAdder存储的值。 源码分析 LongAdder...转载 2020-03-15 17:35:33 · 396 阅读 · 0 评论 -
源码阅读 AtomicInteger
# AtomicInteger 原子整数 ##### 可以原子更新的int值。用于原子递增计数器等应用程序中,不能用作java.lang.Integer的替换。扩展了Number。 # 1.继承关系: public class AtomicInteger extends Number implements java.io.Serializable # 2...原创 2020-03-15 16:17:17 · 288 阅读 · 0 评论 -
Java魔法类:Unsafe应用解析
前言 Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。但由于Unsafe类使Java语言拥有了类似C语言指针一样操作内存空间的能力,这无疑也增加了程序发生相关指针问题的风险。在程序中过度、不正确使用Unsafe类会使得程序...转载 2020-03-15 14:44:36 · 401 阅读 · 0 评论 -
JAVA中神奇的双刃剑--Unsafe
参考资料: Java魔法类:sun.misc.Unsafe 在openjdk8下看Unsafe源码 Unsafe介绍 在Oracle的Jdk8无法获取到sun.misc包的源码,想看此包的源码可以直接下载openjdk,包的路径是: openjdk-8u40-src-b25-10_feb_2015\openjdk\jdk\src\share\classes\sun\misc。 当然,...转载 2020-03-15 15:04:43 · 618 阅读 · 0 评论 -
集合源码阅读:LinkedList
# LinkedList -- 增删快。 # 1.继承关系: ``` java public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Seriali...原创 2020-03-10 22:34:03 · 271 阅读 · 0 评论 -
集合源码阅读:ArrayList
1.继承关系: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable =============================...原创 2020-03-07 01:57:35 · 349 阅读 · 0 评论