【发布时间】:2023-04-08 01:16:01
【问题描述】:
我正在观看YouTube 上关于编译器的教程视频,当时我发现 C 编程语言更快,因为它允许静态链接和动态链接,但 Java 只允许动态链接,这就是为什么 C比 Java 快得多。
我的问题是,如果静态链接使程序运行得更快,为什么它没有包含在 Java 中?我知道 Java 开发人员做出这个决定不包括静态链接肯定有一些真正的充分理由,我只是想知道原因是什么。
注意:我不知道这个问题是否已经有关于 SO 的答案,但由于我找不到,所以我发布了。如果答案已经存在,请提供一个链接。
注意:所提供教程的链接是印地语。对此感到抱歉。
【问题讨论】:
-
that is why C is much faster than Java- 真的吗? -
除了 Andreas 所说的 - 为什么静态链接的支持会使编程语言“更快”总体?
-
C 与 Java 的性能受到了广泛的讨论和高度争议,因此我不会将其归类为声明,而是必须在其提出的上下文中看待的观点。
-
"Thus C is much faster than Java". Is this statement wrong?- 是的,就目前而言,这绝对是错误的。如果没有有关具体场景的其他信息,您将无法做出这样的声明。他可能的意思是启动阶段更快 - 但同样,首先这对于简单的应用程序可能是正确的,但对于复杂的应用程序是不同的,其次您需要确定它是否重要(因为启动仅在您启动应用程序时发生一次) .那么,这可能是桌面应用程序的问题,但对于服务器应用程序来说不是问题。
标签: java compiler-construction static-linking dynamic-linking