dongdong酱 level
获赞
21
粉丝
3
关注
9
看过 TA
22
西安邮电大学
2017
Java
IP属地:广东
和梦想做朋友,和现实斗争不息
私信
关注
2019-10-15 09:57
已编辑
西安邮电大学 Java
总的来说小米算是凉了,go的代码(尤其是channle和协程的部分)没写过多少是硬伤。 开始先自我介绍,我说我是来自西安邮电大学,叫xxx,今年读研三。平常在学校喜欢研究系统方面的知识,平常主要用c,和go。主要研究方向是Linux内核(不要脸的说了内核)。然后开始就问项目,我就讲了我简历上的两个项目(只是很简单的讲,比之前讲的要简单多了)。 然后就开始问golang的基础知识,问切片和数组的区别,这个答得还行,然后又开始问map的底层实现,我就开始懵了,在脑海里搜索了半天,也想不起来什么,就说对不起这块我不是很了解。然后他就问我,golang你了解那块,我说协程和channel比...
那咋办嘛!:三色标记: 通过mspan查看是否被引用 灰色:对象已被标记,但这个对象包含的子对象未标记 黑色:对象已被标记,且这个对象包含的子对象也已标记,gcmarkBits对应的位为1(该对象不会在本次GC中被清理) 白色:对象未被标记,gcmarkBits对应的位为0(该对象将会在本次GC中被清理) 例如,当前内存中有A~F一共6个对象,根对象a,b本身为栈上分配的局部变量,根对象a、b分别引用了对象A、B, 而B对象又引用了对象D,则GC开始前各对象的状态如下图所示: 初始状态下所有对象都是白色的。 接着开始扫描根对象a、b; 由于根对象引用了对象A、B,那么A、B变为灰色对象,接下来就开始分析灰色对象,分析A时,A没有引用其他对象很快就转入黑色,B引用了D,则B转入黑色的同时还需要将D转为灰色,进行接下来的分析。 灰色对象只有D,由于D没有引用其他对象,所以D转入黑色。标记过程结束 最终,黑色的对象会被保留下来,白色对象会被回收掉。
投递小米集团等公司10个岗位 >
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务