19 条回复  ·  265 次点击
securityCoding 初学 2024-8-7 14:23:42
@JasonLaw 没有任何意义...zgc 一把梭
amon 小成 2024-8-7 14:39:13
哈啰面试官,你能回答这个问题吗:
模拟掌管一个公司,
先 miss 吴恩达,
后 miss 陆奇,
还 miss 了 Claude 创始人 Dario Amodei 。

然后的百度 AI 还发展这个样的。
cc666 小成 2024-8-7 14:41:08
很久没写 java 了,但我认为这个问题的本意可能只是考察对 GC 的详细了解程度,设置各种代的大小,但是本质上来看个人认为是做不到的,只能写出来粗看之下正确的代码,并且这个代码里只能有基本数据类型和数组,因为只要你的代码中存在任何不是你自己写的引用对象,那么这段代码的内存占用就是你完全不可控的,你不可能知道所有被引入的包在类加载的时候生成的对象的数量,就一个 java 在运行时自动导入的 java.lang 包就够吃一壶的了,你让谁计算这些包在导入的时候生生了多少个,多大的内存对象,更不可能控制相关变量的 GC ,从而调参和精心构造你自己申请的内存大小就没有意义,并且 GC 本身就在一个线程里,你无法精确控制 GC 何时运行。

就 java.lang 包就够想精确实现这个的人喝一壶的了,更别说真实的项目了,个人认为是傻逼面试题而已。
xing7673 小成 2024-8-7 15:07:39
@quantal 还是强调一下,v 站禁止 ai 回复,用 ai 发言要慎重。
wow0o 小成 2024-8-7 15:47:50
这个问题本身还挺有意思的。   可以让新老生代的实践不再那么镜花水月
ZZ74 小成 2024-8-7 16:13:25
代码不是重点,jvm 参数才是重点。
首先要确定垃圾收集器用哪个,因为这决定了 Young Old 的比例,CMS 通常是 1:2 ,G1 是百分比。因为 G1 的百分比,以及 region 大小等可能直接导致直接分配到了 Old 。
通过 6 楼 new byte[]来控制对象大小
通过控制堆大小 Xms ,Xmx ,和新旧比例来控制 YGC
通过控制直接分配到老年代的阈值 控制 full GC

最关键的得对垃圾收集器的行为细节了如指掌才行,比如有大对象直接进老年代,但是没看过细节你怎么知道它不会顺手执行个 YGC
109021017 小成 2024-8-7 16:25:24
@amon 面试官: 关我屁事, 关你屁事
feiyan35488 小成 2024-8-7 17:24:34
@JasonLaw 互联网八股文
incubus 初学 2024-8-7 18:26:43
@wangsunng 定时器?
sagaxu 初学 2024-8-7 18:29:18

百度面试题,大伙给点思路

.net 和 Go 就没这么多屁事
12
返回顶部