栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么某些Java库在没有调试信息的情况下进行编译

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么某些Java库在没有调试信息的情况下进行编译

默认的编译选项不包含调试信息,您必须明确告诉编译器包括调试信息。大多数人忽略它的原因有几个:

  • 一些库用于嵌入式系统(如手机)中。直到最近,每一点都很重要。如今,大多数移动设备的内存都超过了1985年所有计算机的总和;)
  • 在激活调试的情况下进行编译时,代码的运行速度降低了5%。数量不多,但在某些情况下,每个周期都很重要。
  • 今天的高级开发人员出生于64KB RAM巨大的时代。昨天,我向地窖中的服务器添加了另一个2TB驱动器。这是25年内的7个数量级。人类需要更多时间进行调整。

[编辑]正如John指出的那样,Java字节码如今已不再(很多)优化。因此,在两种情况下,类文件的输出将相同(只有具有调试信息的类文件会更大)。该代码在运行时在JIT中进行了优化,从而使运行时可以为CPU,内存(数量和布局)等优化代码。

提到的5%罚款是在运行代码并添加命令行选项以允许远程调试器附加到进程时。如果您不启用远程调试,则不会有任何损失(除了类加载,但这只会发生一次)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/495017.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号