第一次是3.5号下午打电话过来问我有空没有,准备第一轮面试,当时我接到电话人慌了,然后很紧张就说当时没在家(其实我在家),面试官很好,然后和我约定了第二天下午两点开始面试
时长:55min
教训:不是很懂的千万别往简历上写,来自一个被dubbo问懵的沙雕选手。。。。
1.为什么新生代用复制算法,老年代用标记整理和标记清除算法,不同的算法的不同的优点?
首先,因为新生代的垃圾回收是很频繁的,并且新生代需要清理的对象数量很多,假如采用标记整理算法,需要大量的移动操作,时间复杂度很高,而复制算法,不需要移动,而是直接将存活对象进行复制大大减少了时间复杂度,所以新生代采用复制算法。不过缺点就是浪费了一半的内存,并且如果对象的存活率很高,那么需要将所有对都复制一遍,造成的开销特别大,而新生代的对象的存活时间都不是很长的,所以在新生代使用复制算法正合适
接下来,为什么老年代不使用复制算法呢?也正是因为老年代中都是一些大对象,一些存活时间长的对象,所以假如使用复制算法,那么开销就很大。并且老年代没有内存分配担保机制,所以就使用了标记整理或者标记清除算法来进行回收
jvm常见命令的作用
jps:显示指定系统内所有的虚拟机进程
jstat:用于收集虚拟机各方面的运行数据
jinfo:显示虚拟机的配置信息
jmap:生成虚拟机的内存存储快照
jhat:分析heapdump文件&#x