java
tuituji111
这个作者很懒,什么都没留下…
展开
-
GC碎碎念
GC(root)以外的对象都当做垃圾处理,根可达算法 jdk1.8之后,string常量池放在堆里了 非G1回收器的管理方式 通过复制算法回收好多次,仍然残留在新生代的s1或者s2中的对象,再复制到老年代中,老年代不轻易进行回收 老年代也会放大的对象(比如超过Eden区的一半的对象直接放老年代) G1的管理方式,分成很多不连续的Region,可以是O,可以是S,可以是E,也可以是大对象H G1的内存区域不是固定的,回收之后可以重新指定 所以G1不用指定年轻...原创 2021-02-21 16:02:48 · 79 阅读 · 0 评论 -
笔记:并发编程的三大特性,可见性、有序性、原子性
并发编程的三大特性(可见性、有序性、原子性) 可见性 两个线程分别同时去修改一份变量的拷贝时,会产生修改值不一样的问题,这样的问题就是可见性问题。 sychronized保证原子性的同时也会保证可见性,会做一个与主内存之间的同步操作 运算单元取寄存器的数据花1个单位时间,运算单元从主内存中取数据需要花100个单位的时间,相差100倍 volatile的底层实现就是一把锁,会把总线也一起锁起来,lock指令不能单独执行,需要加一个附加指令(但是不能直接加空指令),这里的addl.原创 2021-02-16 10:53:04 · 196 阅读 · 0 评论