IP属地:浙江
并发编程有3个源头性问题:缓存导致的可见性问题,编译优化导致的有序性问题,以及线程切换导致的原子性问题。解决可见性问题和有序性问题的方法是按需禁...
为什么要有 Java内存模型? 并发编程的3个源头问题分别是: 可见性,由缓存导致的可见性问题 有序性,由编译优化导致的有序性问题 原子性,由线...
操作系统使用信号量解决并发问题,Java选择使用管程(Monitor)解决并发问题。信号量和管程是等价的,可以使用信号量实现管程,也可以使用管程...
HashMap 是一种 KV 形式的数据结构,允许有一个 key 为 null,value 允许为 null。HashMap 的存储,使用的是哈...
fail-fast 快速失败,是指在遍历集合时,检查遍历过程中集合的modCount是否改变,如果改变就会抛出java.util.Concurr...
将Array转为List: 使用 Arrays.asList(),转化后的 List 不能 add(),否则会报 java.lang.Unsup...
跟JVM内存相关的几个核心参数
新生代满了会触发 Young GC,老年代满了会触发 Old GC。GC时会回收对象,那么具体是什么样的对象会被垃圾回收器回收呢? 可达性分析算...
我们都知道以 .java 结尾的 Java 源文件,经过编译之后会变成 .class 结尾的字节码文件。JVM 通过类加载器来加载字节码文件,然...