【问题标题】:What is the benefit of compiling java on a linux machine over windows?在 linux 机器上通过 windows 编译 java 有什么好处?
【发布时间】:2017-08-01 06:48:55
【问题描述】:

我有一位 CS 教授坚持在我们提交代码进行评分之前在 linux 服务器上编译我们的 java 类。当我带他参加 C 课程时,他这样做了,这很有意义,因为我知道有时 C 代码在 linux 中的编译方式会有所不同。

但是,我对 JVM 的理解是它独立于平台。这是真的还是我错过了在 linux 上编译的一些好处?

【问题讨论】:

  • 不,没有好处。只是 JVM 发挥了作用,那就是 PI。
  • 您获得的唯一好处是 Windows 和 Linux 中的默认字符集不同,因此如果有人试图注入一些伪装成注释的恶意内容,例如 Unicode 转义符,如 \u000d 。你可能会弄明白。但是又一次 Unicode 处理发生在源代码处理之前,所以我不确定它增加了多少价值
  • 由于默认字符集,一些构建依赖于平台。等

标签: java linux compilation


【解决方案1】:

Java 是一次编写,到处运行。这可能是它被创建的主要原因之一。 Java被编译成字节码,由Java虚拟机解释和执行。此外,出于性能原因,使用即时编译将其转换为本机代码。

我能想到的唯一原因可能是您的应用程序中硬编码了一些特定于操作系统的东西?例如“C:\some\folder\lives\here\on\windows”,或者在您的情况下为“/usr/local/somefile/here/i/want/to/access/on/linux”。再次不确定。

【讨论】:

  • 我就是这么想的。我得问问他,看看他为什么要这样做。
  • 如果他让你硬编码操作系统特定的东西。挑战他!告诉他.. 听着兄弟,Java 提供了一个Paths 包可以为我们完成这项工作......不,真的,它确实存在。确保你和那些孩子们在彼得潘中一样的热情,当他们意识到当他们想到快乐的想法时他们可以飞翔。只是说...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 2023-03-15
  • 2011-02-06
  • 1970-01-01
  • 2010-11-12
  • 1970-01-01
相关资源
最近更新 更多