![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA虚拟机
qq_34092451
这个作者很懒,什么都没留下…
展开
-
CAS实现原子操作的三大问题
第一:ABA问题,ABA问题的解决办法是使用版本号例如:1A->2B->3A第二:循环时间开销大,pause指令有两个作用,第一,他可以延迟流水线执行指令使CPU不会消耗过多的执行资源,第二,它可以避免在退出循环时因为顺序冲突域时引起的CPU流水线被清空,从而提高cpu的解决办法。第三:只能保证一个共享变量的原子操作...原创 2019-06-17 13:35:21 · 140 阅读 · 0 评论 -
Java垃圾收集器总结
1、Serial收集器是一个单线程的收集器、进行垃圾回收时,必须暂停其他所有的线程,直到垃圾回收结束,它依然是运行再Client模式下的新生代收集器;收集方法:新生代采用复制算法,老年代采取标记整理算法。优点,简单高效2、ParNew收集器:是Serial收集器的多线程版本版本,它和Serial收集器几乎一样,它是许多运行在Server模式下的虚拟机中首选的新生代收集器,目前只有它可以和CM...原创 2019-07-19 15:08:21 · 206 阅读 · 0 评论 -
内存分配与内存回收策略
Java的内存管理主要分为内存分配和内存回收,1、对象优先分配在Eden分配,大多数情况下,对象在新生代的Eden区中分配,当Eden区没有足够的空间进行分配时,虚拟机发起一次Minor GC;2、大对象直接进入老年代,大对象指需要大量连续内存空间的Java对象,主要有很长的字符串和数组,3、长期存活的对象将进入老年代,虚拟机给每个对象对象年龄计数器,如果对象在Eden出生并经过第一次Min...原创 2019-07-19 15:31:35 · 145 阅读 · 0 评论