标签:写法 去重 oca htm 必须 arc 新生代 二进制文件 syn
CMS和G1了解么,CMS解决什么问题,说一下回收的过程。
CMS,全称Concurrent Mark and Sweep,用于对年老代进行回收,目标是尽量减少应用的暂停时间,减少full gc发生的机率,利用和应用程序线程并发的垃圾回收线程来标记清除年老代。CMS并非没有暂停,而是用两次短暂停来替代串行标记整理算法的长暂停。
CMS回收为什么要停顿两次
当虚拟机完成两次标记后,便确认了可以回收的对象。但是,垃圾回收并不会阻塞我们程序的线程,他是与当前程序并发执行的。所以问题就出在这里,当GC线程标记好了一个对象的时候,此时我们程序的线程又将该对象重新加入了“关系网”中,当执行二次标记的时候,该对象也没有重写finalize()方法,因此回收的时候就会回收这个不该回收的对象。虚拟机的解决方法就是在一些特定指令位置设置一些“安全点”,当程序运行到这些“安全点”的时候就会暂停所有当前运行的线程(Stop The World 所以叫STW),暂停后再找到“GC Roots”进行关系的组建,进而执行标记和清除。
说说synchronized锁升级的过程
参考:https://www.cnblogs.com/xiaoyangjia/p/11457994.html
Tomcat类加载器结构
参考:https://www.jianshu.com/p/c205a74aa4da
Spring中如何让A和B两个bean按顺序加载
采用dependOn注解
explain select id from orders
,通过查询计划的信息,判断这条SQL是否需要增加索引、修改写法等等。
一般来说,节点故障、网络故障是常态,分区容错无法避免,因此CAP的P总是成立,剩下的C和A无法同时做到。
参考:http://www.ruanyifeng.com/blog/2018/07/cap.html
哪些技术是牺牲了一致性来保证可用性
MySQL主从复制就是典型的牺牲C,保证A的做法。
如何高效处理10亿个数字去重
采用bitmap,参考:https://www.jianshu.com/p/b39eb55d4670
如何在十亿个数找前10个最大的数
采用最小堆算法,参考:http://doc.okbase.net/zyq522376829/archive/169290.html
标签:写法 去重 oca htm 必须 arc 新生代 二进制文件 syn
原文地址:https://www.cnblogs.com/xiaoyangjia/p/11555197.html