字节data面试应该凉了

开始被问蠢了:
java gc 为什么新生代不用标记整理算法,为什么标记复制算法
我一想这不是送分题嘛,
回答:新生代要清除的对象多,标记整理清除对象产生大量碎片之后还要整理,标记复制将存活对象复制到s2,将s1整个清除掉,速度快
又问我为什么标记复制标记整理块?
回答:标记整理每一个存活对象都要向一端移动,标记复制要将对象一个个复制到s2区,在一次整理整个s1区
面试官说这个对象移动和一次整理s1区应该消耗时间一样,你再想想为什么新生代要用标记复制。提示一下,软件都是空间和时间的妥协来达到最好的效果。
僵了一会。。回答:标记复制需要有一块内存不使用,需要空间代价,他应该比标记复制在新生代执行gc的快
那为什么快呢,再给你一分钟时间?
。。。扯了下gc root 引用什么的,


后面感觉到面算法崩了。。。。。面试官也没说答案

大佬能回答一下吗,我查到的明明这两个方法gc时间本来就不一样啊,标记复制就是一次清理s1速度快

算法 判断一个二叉树是否对称

#面经##字节跳动##算法工程师##校招#
全部评论
看了下评论,我来讲点书上的吧。标记复制是将标记的内容复制到空余的survivor区,然后清楚eden和在用的s区。标记整理是将标记的移动到一段,重点来了,同时没有标记的先不清楚,而是移动到后面,最后清楚标记的边界以外的内存。因此标记整理的过程中也涉及到对需要回收对象的复制,而新生代的需要回收的对象比较多,因此慢。再总结一下,就是标记复制只涉及到存活对象的复制,标记整理不管存活不存活都复制。 那有人可能要问了,那为啥要标记整理嘛,啥用没有。一是与新生代不同,老年代用标记整理比较友好,而是不需要多用空间(空闲的s区)
1 回复 分享
发布于 2020-08-22 16:18
字节我投的大数据跟其他厂还真不一样,都是抠细节底层,且我也不知道为何都是底层开发,我想业务开发呀😂
1 回复 分享
发布于 2020-08-18 18:56
lz手撕代码是什么题
点赞 回复 分享
发布于 2020-08-21 14:05
复制就是拿空间换时间啊,下次直接使用s2区就好了,s1区的整理不影响使用的时间效率
点赞 回复 分享
发布于 2020-08-18 20:24
复制和标记整理都需要标记,但是标记复制是把存活的对象移动到另一块没用过的区域,标记整理是先标记垃圾,清除垃圾之后,把存活的对象移动到区域的一端,如果移动到端终点的时候发现那个地方已经有存活对象,需要再往后移动,直到找到空闲的内存位置。这是我的理解。
点赞 回复 分享
发布于 2020-08-18 20:14
是不是因为标记整理的时候因为原来的地方可能会有存活对象不能直接覆盖需要考虑这种东西 但是复制因为那便是空的挪过去就好啊 (不知道 瞎说的 果然我不配进字节
点赞 回复 分享
发布于 2020-08-18 20:02
快不快不是看具体的场景的吗,反正照JVM这样用,肯定是新生代的标记复制比老年代的标记整理要快的
点赞 回复 分享
发布于 2020-08-18 19:21
复制算法不需要标记把,直接清除把剩下的复制过去就好了,消耗50%空间,但是不产生外部碎片,比较简单,适合新生代这种;标记整理、标记清理都要考虑内存碎片
点赞 回复 分享
发布于 2020-08-18 19:09
楼主你好,请问你是实习、校招还是社招?
点赞 回复 分享
发布于 2020-08-18 18:53

相关推荐

07-30 11:52
门头沟学院 Java
美团暑期实习没投递成功,这次正式批的北斗计划总该有我的一部分了吧!
求职的纳鲁多:大佬投我就不投了,毕竟王不见王,避你锋芒
点赞 评论 收藏
分享
小时候觉得老师是很伟大的职业 感觉老师都是人中龙凤才能当 后来考入大学 发现以前的老同学也是公费师范生了 他们什么样什么人品 我还不清楚吗 只能希望他们以后也会有改变 要不纯属耽误孩子 实习之后发现 有的领导 能当上领导也可能运气成分很多 自己决策方面很差 分配给属下的东西自己也说不明白  前些年那些明星 各种塌房 少林寺大师都能有情人和孩子 越长大越发现世界就是个草台班子 以前对不懂的东西有一层羡慕的滤镜 接触之后发现就不是那回事了
RazerYang:其实也是幸存者偏差,你只关注草台班子的部分,所以觉得世界都是草台班子。实际上你每天能安全地从床上醒来,有稳定的天然气、自来水和电力供应,能让你吃上热乎的饭菜,能收到持续稳定的信号去刷手机,花几块钱就能坐地铁从城市的一端快速移动到另一端,花几百块就能在一天之内安全穿越整个国家,这都不是一个草台班子能实现的。燃气、水利、电力、通信、公交、民航,还有最重要的公安和国防,这些都不是草台班子能做的,有无数普通人构筑了你生活的方方面面,而你也将加入他们。
我对___祛魅了
点赞 评论 收藏
分享
程序员牛肉:1.大头肯定是院校问题,这个没啥说的。 2.虽然有实习,但是实习的内容太水了,在公司待了七个月的时间,看起来就只做了jwt和接入redis。爬取新闻,数据导入。这几个需求值得你做七个月吗?这不就是三四个月的工作量吗?我要是面试官的话真心会认为你能力不太行。所以既然有实习了,一定要好好写,像是Swagger这种东西是真没必要写上去,就拉一个包的事情。 3.我个人觉得话,在校生不要把自己当社招看,除非你的项目是特别牛逼,特别有名的含金量,否则不要写这种密密麻麻的一串子工作职责。你的项目只有一个作用,就是供面试官从中来抽取八股对你进行拷打。 但是你现在这个看不来什么技术点,可以改一下,详细表述一下你用什么技术实现了什么功能,在实现这个功能的过程中,你解决了什么难题。
点赞 评论 收藏
分享
07-28 16:37
门头沟学院 Java
哎,继续加油吧
ResourceUt...:能接到面试就已经是✌🏻了
腾讯一面2195人在聊
点赞 评论 收藏
分享
评论
3
20
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务