
java底层
不知所终,不知所起
期待更好的遇见(九九六了家人们)
展开
-
写时复制技术的实现与介绍(Copy-On-Write)
Copy-On-Write1,什么是写时复制(Copy-On-Write)容器?写时复制是指:在并发访问的情景下,当需要修改JAVA中Containers的元素时,不直接修改该容器,而是先复制一份副本,在副本上进行修改。修改完成之后,将指向原来容器的引用指向新的容器(副本容器)。2,写时复制带来的影响①由于不会修改原始容器,只修改副本容器(JMM原理)。因此,可以对原始容器进行并发地读。其...原创 2020-05-06 23:46:49 · 1562 阅读 · 0 评论 -
List、Map、set的加载因子,默认初始容量和扩容增量
首先,这三个概念说下。初始大小,就是创建时可容纳的默认元素个数;加载因子,表示某个阀值,用0~1之间的小数来表示,当已有元素占比达到这个阀值后,底层将进行扩容操作;扩容方式,即指定每次扩容后的大小的规则,比如翻倍等。当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使效率...原创 2020-05-06 23:40:19 · 296 阅读 · 0 评论 -
单线程情况下集合出现并发修改异常(ConcurrentModificationException)
一:ConcurrentModificationException异常:当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。二:遍历list集合时删除元素出现的异常public static void main(String[] args) { ArrayList<String> list=new ArrayList<String>(); li...原创 2020-05-05 18:41:58 · 692 阅读 · 0 评论 -
双亲委派是什么,简单讲解
问题写测试,自定义String类,代码如下:package java.lang;/** * Created By zby on 23:03 2019/11/12 * 自定义<code>String</code>类 */public class String { public static void main(String[] args) { ...原创 2020-05-05 18:18:10 · 432 阅读 · 0 评论 -
JVM结构
JVM是什么JVM是Java Virtual Machine的缩写。它是一种基于计算设备的规范,是一台虚拟机,即虚构的计算机。JVM屏蔽了具体操作系统平台的信息(显然,就像是我们在电脑上开了个虚拟机一样),当然,JVM执行字节码时实际上还是要解释成具体操作平台的机器指令的。通过JVM,Java实现了平台无关性,Java语言在不同平台运行时不需要重新编译,只需要在该平台上部署JVM就可以了。因...转载 2020-05-05 17:41:11 · 170 阅读 · 0 评论