最适合java开发的操作系统?

时间:2008-11-01 21:54:45

标签: java operating-system jvm solaris

Java开发的最佳操作系统是什么?来自Sun的人正在推动Solaris,是的Solaris本身包含一些额外的功能,例如(dTrace,性能调优JVM的可能性等等)。我的一些朋友已将他们的应用程序移植到solaris上,他们告诉我,表演很精彩。我不满意切换我的操作系统,而是使用Solaris。

你的经历是什么?

14 个答案:

答案 0 :(得分:39)

在我使用的三个(Mac OS X,Linux,Windows)中,我认为Linux是进行Java开发的最佳位置。

我的主要个人计算机是Mac,我在那里做了很多Java开发,并对此感到满意。然而不幸的是,苹果公司落后于官方JDK版本,而你几乎只限于他们选择提供的少数版本。

我雇主提供的机器是惠普的旧P4箱子,我主要用它来保暖。实际工作发生在“Oberon”上,在32位模式下运行 Ubuntu 8.04 的2.6 GHz四核[1]。与Windows相比,我日常注意到的两个优点是:

  1. 一个强大的命令行,它可以帮助我自动化无聊的小东西。
  2. 卓越的文件系统性能。 (我现在正在使用EXT3,因为我在我年老的时候变得保守。我之前使用过ReiserFS,这对于通常在大型工作空间中执行的各种操作来说甚至更快了。)
  3. 你也可以从mac获得这些优势,但Linux提供了另一个不错的奖励:

    • 远程X11:在我的$ EMPLOYER通过网络提供电子邮件和日历之前,我必须在Windows框中阅读我的邮件并查看我的会议,所以我使用了Cygwin的X11。这允许我在Linux上运行这些东西,但是在我的Windows桌面上显示它。

    [1]我曾经以64位模式运行Ubuntu,但我没有遇到麻烦。 (混合使用64位和32位是Mac OS X 很多更好。)7.04在64位内核上运行良好的32位应用程序。 7.10打破了linux32脚本并且安装了新的32位应用程序的能力,但是旧的32位应用程序继续(大部分)运行。 8.04杀死了32位java,因为无法从32位JVM连接到网络(不再需要Eclipse更新)。运行Eclipse 64位无法可靠地运行。当时的oXygen版本只能在IBM 64位VM下运行(不情愿地),它可以工作大约10分钟,直到它停止获取键盘事件。我终于沮丧地放弃了并且使用我的Mac几个月,直到我有足够的闲暇时间在linux盒子上进行32位安装8.04。现在一切都恢复了,我很开心。

答案 1 :(得分:11)

随心所欲地发展。作为一名java程序员,您可能希望避免使用Mac OS X,主要是因为新功能似乎已经被显着延迟,并且还因为您发现您已经不再拥有支持新版Java的机器了。话虽如此,我想在Mac OS X上进行开发必须非常好(命令行界面,dtrace,漂亮的操作系统)。

我使用IntelliJ 7在Windows上开发。没关系,但需要一些高硬件。然后我部署到solaris / linux上。除非您正在编写GUI或与C ++代码集成,否则您应该选择任何您喜欢的内容。

答案 2 :(得分:7)

“发展”?

我相信你应该坚持使用最适合的操作系统,或者对于大型开发人员来说最容易使用的操作系统,例如Windows上的一组PC。

很少需要对开发平台进行深入调整。

您可以将所有这些dtrace和其他性能调整保留到汇编平台(例如在Linux中),用于日常部署,其中所有内容都经过重新编译和单元测试。

然后你可以设置一个特殊的JVM(比如IBM JRockit而不是Sun JRE)来对你的集成平台进行一些分析,你的所有系统都可以从前到后进行测试,并进行压力和非回归测试< / p>

最后,在预生产平台(可能是昂贵的F15K或SunFire880或V490或......)上进行所有UAT(用户验收测试),并在那里使用目标JRE。

我的观点是:在开发和发布到生产之间需要考虑很多参数,在这么早的阶段切换操作系统可能是不必要的。

答案 3 :(得分:6)

根据您的喜好进行开发,并测试您部署的内容。

我可以在Mac上开发Java,并在Solaris和Linux上进行部署。事实是,对于大量任务,Java可以以独立于操作系统的方式开发。对于服务器端开发尤其如此。

我喜欢在Windows上通过Unix开发,但那就是我。

答案 4 :(得分:6)

我会说Mac OS X.

内置Java开发。所需的所有unix命令行工具。盒子外面。蚂蚁和maven在那里。不是最新版本,但这很容易升级。

是的,您可能没有最新版本的JDK,但实际上,除非您需要开发最新且最好的JDK,否则它不会成为问题。

答案 5 :(得分:2)

答案比您想象的要容易:使用您喜欢的操作系统。对于Java来说,这是最好的答案。不是开发本身,但您的舒适将有助于您的成功,在您喜欢的环境中浏览文档等。

答案 6 :(得分:1)

就个人而言,我不会打扰。我会使用最能支持您使用的开发工具和目标平台的平台。

为什么需要调整JVM?这是一件非常不寻常的事情。你会更喜欢用像C ++这样的低级语言写作吗?

Dtrace适用于OS X,也有一个Linux端口。 Solaris历来以缓慢而闻名(因此是Slowaris的昵称)。我不确定这是否仍然存在。

答案 7 :(得分:0)

在使用Eclipse在Windows中进行Java开发之前,我已经取得了成功。听起来你也在询问部署/托管。无论哪种操作系统最适合运行您的应用程序,都不应该真正预测您用于开发应用程序的操作系统。

答案 8 :(得分:0)

正如pmiller建议的那样,Windows和Eclipse运行良好。我还可以推荐使用Eclipse或IntelliJ IDEA的OS X(后者也适用于Windows)。

我只在Solaris上完成了最基本的Java开发(大学的基础数据结构编程实践),所以我不敢提供任何真正的比较。我确实在Solaris上发现它非常痛苦,因为缺乏适当的工具(我认为我只限于nedit或其他东西)。

答案 9 :(得分:0)

您必须考虑的一件事是您是否要开发可以在Mac上运行的应用程序。我喜欢OS X,但是好老的史蒂夫确保我们总是有很多JDK版本。我们几乎没有得到Java 6.在Mac上开发可能至少可以保证你在尽可能低的JDK版本下工作。

答案 10 :(得分:0)

我使用的是Linux,Windows和OS X.我支持OS X的主要理由是它是用户友好的操作系统(即我可以运行iTunes,大多数现代浏览器,而且不需要分配50我使用unix基础在笔记本电脑上维护它的时间的百分比。由于我的大部分开发都是针对unix系统的,因此这会让生活变得更加高效。此外,这个平台背后还有一个越来越活跃的开发社区。这些原因也适用于Windows - 而cygwin关闭了我使用unix工具的一些要求 - 这与使用真正的unix系统完全不同。

答案 11 :(得分:0)

您的开发环境必须与生产相同。

没有与您的生产环境不同的“最佳开发环境”。在开发中运行您在生产中运行的内容。

也就是说,这并不意味着您无法在另一个操作系统上运行IDE,前提是您仍然在与生产相同的系统上进行开发(例如,在另一台机器或VM上)。

答案 12 :(得分:0)

Windows很好。

Solaris也是一个很棒的Java开发环境(我比Windows更喜欢它,但是出于主观原因),但除非你在它上面部署,否则它可能不值得切换。

Linux对于Java开发来说有点笨拙,但可行。

我唯一不推荐的是Mac,因为他们总是远远落后于可用的Java版本(不是由Sun提供,Apple自己提供)。

答案 13 :(得分:0)

我最好的建议是在您定位的平台上进行开发。这样,当你在开发测试期间运行它并运行单元测试时,你知道它也可以在目标平台上运行,没有任何令人讨厌的意外。

如果您的目标是所有平台,那么您可能真的想在Mac上进行开发,因为您将在Mac上获得最令人讨厌的惊喜。就Java来说,在Windows和Unix上,“它只是起作用”,但在Mac上并没有那么多。 Sun为除Mac之外的所有操作系统开发Java运行时(JRE)。 Apple开发了自己的JRE。

如果您在Mac上进行开发,那么您最有可能针对最不常见的分母进行开发,因此在Mac上运行的应该运行在其他分支上。这是我的经历。

除此之外,我总是建议您根据操作系统是否运行软件来选择操作系统。选择运行IDE的操作系统以及用于开发和测试的其他工具。如果多个操作系统运行您需要的工具,请选择最能运行它们的工具。