Solaris/FreeBSD与Linux在Java开发方面的比较

6
多年前,我从Windows转到Linux,以获得更轻量级和稳定的桌面环境。这种转变很成功,但是我在使用Linux时遇到了足够的问题,考虑再次进行更改。具体而言,我正在寻找系统库更好的稳定性。
我使用Debian不稳定版(呃..我是指测试版),因为我需要跟踪一些Linux应用程序的开发。由于它们正在积极开发中,我期望偶尔会出现一些错误。我的问题在于基本系统实用程序(如hdparm或halevt)的损坏频率。在过去的一年里,每次我更新系统或进行全新安装时,都会破坏一些不同的实用程序。
最好的替代方案似乎是FreeBSD和Solaris(Solaris可用于开发,这是我关心的)。我在这里询问哪个对我的使用更好,或者它们是否有足够的自身问题,我最好还是坚持使用Linux。
我的使用方式:
- Java开发,编程风格非常系统无关,桌面应用程序,目标用户主要在Windows和OS X上 - 虚拟化以在各种操作系统上运行应用程序 - 通用桌面工作:文字处理,网络,音乐 - 不用作服务器
到目前为止,它似乎是:
- FreeBSD 优点:文档,社区,清洁设计,广泛的端口 缺点:Java支持 - Solaris 优点:Java和虚拟化支持 缺点:参见FreeBSD pro stuff

不是真的和编程有关,能不能有人迁移到超级用户? - richo
不介意迁移到超级用户,但我在这里找到了类似的问题,但在那里没有。 :-/ - user287424
9个回答

4
很明显,Solaris上的Java得到了很好的支持并且非常稳定。它是(或至少曾经是)Java团队的主要开发平台。
与Linux相比,Solaris在兼容性和可用驱动程序方面对硬件更加挑剔。你应该检查兼容性列表,尤其是你的显卡,以确保它能够很好地工作。Solaris有一个相当稳定的用户界面,并且它还具有其他你可能想要使用的有趣的Solaris功能(ZFS、DTrace、SMF等)。
在稳定性方面,FreeBSD也非常稳定,因为内核和用户界面整体跟踪。我不能说FreeBSD上的Java兼容性如何。我可以说,多年前我的经历不太好,但那是多年前的事了。我相信Linux比FreeBSD有更好的Java支持。
这两个系统都有大量可用的软件包,FreeBSD可能更大一些,而且有更好的机会将某些东西移植到FreeBSD上(当然,这取决于软件包的领域)。
我相信Solaris的基本资源需求略高于FreeBSD,如果这很重要的话,大多数情况下不会。"桌面上的Solaris"有点自相矛盾。它当然可以做基本的事情,但这不是它的主要成功领域(例如声音、闪存、视频等)。
如果你的硬件与Solaris兼容(或者你愿意购买硬件),那么我会选择Solaris。如果"多媒体"桌面对你非常重要,假设Java可以工作,那么FreeBSD可能更好。
我使用Mac。我并不是以某种自负的方式说这个,但如果你想要一个Unix工作站环境来开发Java,Mac真的很难被击败,特别是现在Oracle接管了SDK支持,使Java(理想情况下)比Apple更及时地更新。(是的,有很多不喜欢Mac的理由,但如果"unix"和"java"在你的需求列表中排名靠前,那么Mac实际上非常符合这些需求。)
我用Ubuntu用了一年半。8.x很好。9.x不太好,从未升级到10.x。我会使用任何这些系统而不是Windows。
所以,在我的优先级列表中:Mac、Solaris、Linux、BSD,除非BSD的Java支持已经变得完全无障碍和功能齐备,没有"哦,你正在使用BSD"的问题。然后我会在尝试Linux之前尝试BSD。

我一直是个Mac用户,但我的下一台笔记本电脑不可避免地正在变成一个Linux系统。信不信由你,我发现Linux的用户界面更可取 - GNOME的Scale是一个很好的Expose替代品,而且GNOME有适当的虚拟桌面,而OS X仍然缺乏这一点。然后还有Linux的好处 - 主要是GNU用户空间而不是过时的BSD用户空间,以及更大更集成的软件包集合。这是一种非常奇怪的感觉。我希望苹果能够采取一些行动,这样我就可以放心购买Mac了! - Tom Anderson
不错的总结。Mac:界面精美,硬件支持良好,但我更喜欢轻量级环境(使用IceWM而非GNOME或KDE),而且我认为Darwin是一种奇怪的Unix系统。FreeBSD:即使在forums.freebsd.org上,用户仍然不鼓励人们将其用于Java开发。Solaris:在企业开发中很受欢迎,但我没有看到在桌面开发方面有太多的好处。Solaris似乎没有比Linux更好地集成Java,并且配置轻量级环境需要更多的工作。 - user287424

2

我建议您坚持使用Linux。与不稳定的Debian相比,您可以考虑类似Fedora的操作系统。它经常获得更新。您可以使用Java IDE(如Eclipse、Netbeans)和Linux的Java支持。您还可以使用像VirtualBox这样的虚拟机。


2
Fedora是Java开发的首选工具。稳定版本更新速度适中(不像Debian),但不会出现崩溃(不像Ubuntu)。如果您想更接近最新版本,可以使用测试版本,并且在稳定版本上安装测试包相对简单(虽然有些费力)。默认情况下,它没有Ubuntu那样的所有功能,但它具有干净的用户界面,非常适合开发。此外,它与RHEL非常相似,这简化了在JBoss/RHEL上进行生产。而且JDK以RPM形式提供。还有什么比这更好的呢? - Tom Anderson
我花了一些时间研究了 Fedora。它的受欢迎程度似乎归功于其精心选择的一组开放工具。虽然它可以在设置时节省一些时间,但除此之外我并没有看到其他的好处。在 Debian 中,查找和安装软件包确实更加方便。 - user287424
没错。Debian和基于Debian的发行版,如Ubuntu以拥有大型软件仓库而闻名。但是,Debian(稳定版)的问题在于软件包有点过时。Fedora则具有使用前沿软件包的优势。你可能会发现Ubuntu很有用,因为它拥有大型软件仓库,并且软件包比Debian更新得多。您还可以使用社区网站,例如lauchpad查找最新的软件包。 - Amirali Sanatinia

1

冒着异端邪说的风险,你应该重新考虑在Windows上进行Java开发。

Windows XP非常稳定[0]。

唯一的问题是Windows上“主要”的Java IDE(Eclipse)非常占用内存。

[0]这来自于一个人,他在第一份兼职办公室工作中安装了他的第一个Slackware来替换Windows 3.11,并且已经连续运行Linux近15年。


1
相比Vista,XP更轻便和稳定,所以我不会完全反对这个。但是既然已经在*nix领域安家落户,我就再也回不去Windowstan了。 :-) - user287424
1
@user287424 - "只有当你的时间没有价值时,Linux 才是免费的" - Jamie Zawinski (http://www.jwz.org/doc/linux.html) - DVK
完全同意。我使用Linux是因为我喜欢它,而不是因为Windows许可证的价格成为问题。现在,商业Unix许可证的价格确实是一个问题。 - user287424

1

FreeBSD的主要弱点在于Java和虚拟化支持,这恰好是Solaris的优势。我不建议将Solaris 10作为桌面操作系统,但可以尝试OpenSolaris的后代——Solaris 11 Express。它是一个很棒的操作系统,我认为其主要弱点是用户群体较小。Oracle的文档很好,而且有一个活跃的邮件列表,但你会发现在Google上搜索某些偏门问题时结果会少一些。

我预计FreeBSD比Linux或S11E更稳定(从发布到发布变化最小)。

就一般桌面使用而言,S11E可能更胜一筹,但两者都远不及Mac OS X的水平。


1
我建议分离关注点。
选择一个稳定的发行版作为主机操作系统,然后在其中安装虚拟机环境(如vmware player)。然后在其中安装那些需要跟踪的不稳定版本,甚至可能还有一个Windows实例。
这样,您可以在需要时运行所需的版本,同时保持稳定的发行版不受影响。

是的,我一直在考虑这个问题。那么问题就是选择哪个操作系统作为主机。似乎FreeBSD或Solaris比Linux更适合这个任务。 - user287424
@user28,重要的是虚拟机环境能够很好地运行并支持您想要的客户机 - 仅有一个强大的主机平台是不够的。我在Ubuntu下使用vmware player已经日常工作了六个月,并发现它可以很好地工作。 - Thorbjørn Ravn Andersen
我把选择的答案改成了这个,因为最终我发现这是最好的建议。在尝试了Linux下的每个虚拟化选项之后,我选择了VirtualBox,因为它是最稳定和易于管理的。 - user287424

0
考虑使用最新的Ubuntu(10.10?)而不是Debian unstable。Ubuntu比Debian保守得少,因此您将更接近最新技术的前沿。
Debian unstable之所以被标记为不稳定,是有原因的...

0

在众多的Linux发行版中,你选择了一个带有“不稳定”一词的版本?为什么不选择Ubuntu / Fedora / OpenSuse / Slackware或其他经过充分测试和稳定的版本呢?如果需要帮助选择,请访问Distrowatch


0

Debian testing可以满足您的要求,它是不稳定的+10天,如果没有错误,您仍然可以使用sid源与pinning,如果您需要一些最新的软件包。


0
真的必须只用一台机器吗?
将工作分配到2-3台机器上会更简单。我在笔记本电脑上有Win7+Office,在PC上有Centos6(有大量RAM和VM),在Centos5上有旧PC(带有OpenVZ,上面有许多Linux发行版),在gentoo上有旧笔记本电脑(最新软件等...当操作系统直接运行在硬件上时,我更加小心),还有两台旧PC备用。
如果必须只用一台计算机,那么我认为RHEL6 + OpenVZ是最好的解决方案。OpenVZ容器可以与其他类型的虚拟化同时运行而不会出现问题。因此,如果您需要在VM上运行Windows,则没有问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接