一面二面连在一起的,一面结束直接通知等一会二面
一面:
1、自我介绍,项目介绍
2、手写二叉树层次遍历的代码
用ArrayList存每层的节点
3、判断存在环的条件
二面:
1、数据库查询次数多了,速度减慢了,应该怎么办?(数据库优化)
重链接m
2、如何实现资源互斥?
3、进程间如何切换?
4、垃圾回收机制具体是怎么回收的?
GC(Garbage Collection)垃圾回收机制。
GC通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用对象进行清除和回收。对GC来说,当程序员创建对象时,GC开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象时“可达的”,哪些对象是“不可达的”。当GC确定一些对象为“不可达”时,GC就有责任回收这些空间。
垃圾回收器可以马上回收内存。
程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定执行。
回收机制有:分代复制垃圾回收,标记垃圾回收,增量垃圾回收