3

我来自 .Net 阵营,在该阵营中,虚拟化对于在服务器软件和系统范围的实体(如 GAC)上运行的需求更为普遍。

现在我在做 Java 开发,继续使用虚拟化有意义吗?我们使用的是 VirtualPC,IMO 并不是最好的产品。如果我们要继续前进,我们希望能够使用 VMWare。

我们正在做 Web 开发,不会使用虚拟化来测试不同风格的服务器部署。

优点:

  • 允许整个团队的开发环境相同
  • 允许与主机隔离
  • 跨平台/浏览器测试

缺点:

  • 缺少多显示器支持(不在 VMWare 中?)
  • 性能下降 - 主要是 I/O
  • 巨大的虚拟磁盘
4

5 回答 5

6

一个可能的优势是您可以在各种操作系统和各种 JVM 上从技术上测试相同的程序。

与流行的观点相反,Java 不是 100% 可移植的,而且很可能编写不可移植的代码。此外,库之间还有微妙的版本。如果您使用不同的 JVM,也可能存在差异。

但是,由于 Java IDE 是重量级的,在 VM 中运行 IDE 可能并不有趣。

Java 确实支持某些形式的远程部署,可能有助于探索这些形式,同时仍在本地进行 IDE 工作。

于 2009-03-16T15:24:09.337 回答
2

我不喜欢在虚拟机中开发。好消息是,与您所写的缺点相比,VMWare 支持多个监视器,并且由于 VMWare 从 USB 硬盘上运行起来非常流畅,因此巨大的磁盘并不是真正的问题。

正如 Uri 所说,在 VM 中运行重量级的 Java IDE 不会很有趣。但是,在 VM 中运行 Visual Studio 也不是很有趣。因此,如果您对虚拟机中的 VS 感到满意,那么请尝试使用 Java,因为它的缺点并没有您想象的那么强大:)

于 2009-03-16T15:31:36.620 回答
1

你说你在做java web开发,所以在不同的操作系统上使用不同的web浏览器测试你的应用程序是有意义的。VMware 将对此很有用。

Netbeans IDE 独立于操作系统,因此您可以让开发人员在不同的操作系统上工作而不会遇到任何麻烦。

于 2009-03-16T15:35:57.873 回答
1

我在 VirtualBox 实例中运行 eclipse,它工作正常。我过去使用过 VMWare,这也很好。

我喜欢将我的开发环境与我的 PC 其他部分(玩游戏、上网、阅读电子邮件等)分开

我在家工作,因此虚拟化提供了必要的工作/娱乐分离。它还允许我分别升级每个环境并对环境进行更多控制。

如果安装“不稳定”,我也可以安全地尝试新的东西并恢复。对不起,技术性很强的术语。;-)

编辑:它还允许我满足公司 VPN 访问要求,而不会使我的家庭环境受到过度的公司影响。

于 2009-03-16T15:48:00.607 回答
1

如果您需要一个虚拟机来验证应用程序是否也可以在不同的操作系统上运行,您可以通过使用持续集成服务器并在该机器(即 Linux / Windows / OSX)上启动/运行虚拟机实例来覆盖相当多的基础。然后解压最新的构建,在交付的类上运行单元测试。然后运行自动化集成测试。然后,您必须将结果报告回 CI 环境。如果集成测试很好,这可以在提交到 SCM 后立即捕获许多常见的多平台错误。

于 2009-03-16T16:00:35.910 回答