24

Java開発に最適なOSは? Sun の人々は Solaris を推し進めています。そうです、Solaris には、(dTrace、JVM のパフォーマンス チューニングの可能性など) などの追加機能がいくつか含まれています。私の友人の何人かは、solaris にアプリケーションを移植しており、そのパフォーマンスは素晴らしかったと私に言いました。OS を切り替えることに満足できず、代わりに Solaris を使用しています。

あなたの経験は何ですか?

4

14 に答える 14

40

私が使用した 3 つ (Mac OS X、Linux、Windows) のうち、Linux は Java 開発を行うのに最適な場所だと考えています。

私の主な個人用マシンは Mac であり、そこでかなり多くの Java 開発を行ってきましたが、それに満足しています。残念ながら、Apple は公式の JDK リリースに遅れをとっており、Apple が提供することを選択したいくつかのバージョンにかなり制限されています。

私の雇用主提供のマシンは、HP の古い P4 クレートで、主に足を温めるために使用しています。実際の作業は、32 ビット モードでUbuntu 8.04を実行している 2.6 GHz クアッド コアで「Oberon」で発生します [1]。Windows と比較して、私が日常的に気付く 2 つの利点は次のとおりです。

  1. 退屈な小さな作業を自動化するのに役立つ強力なコマンド ライン。
  2. はるかに優れたファイル システム パフォーマンス。(私は老齢で保守的になっているため、現在 EXT3 を使用しています。以前は ReiserFS を使用していました。ReiserFS は、Subversion からチェックアウトされた大規模なワークスペースで通常実行される種類の操作ではさらに高速でした。)

これらの利点は Mac でも得られますが、Linux には別の素晴らしいボーナスがあります。

  • リモート X11: $EMPLOYER が Web 経由で電子メールとカレンダーを提供する前は、メールを読んだりミーティングを表示したりするために Windows ボックスを使用する必要があったため、Cygwin の X11 を使用していました。これにより、Linux で実行できるようになりましたが、Windows デスクトップに表示されました。

[1] 以前は 64 ビット モードで Ubuntu を実行していましたが、トラブルが後を絶ちませんでした。(64 ビットと 32 ビットを混在させることは、Mac OS X の方がはるかに優れています。) 7.04 は、64 ビット カーネルで 32 ビット アプリケーションを実行すると問題なく動作しました。7.10 壊れたlinux32スクリプトと、新しい 32 ビット アプリケーションをインストールする機能 (ただし、古いアプリケーションは (ほとんど) 実行し続けます)。8.04 は、32 ビット JVM からネットワークに接続することを不可能にすることで、32 ビット Java を殺しました (Eclipse の更新はもうありません)。Eclipse 64 ビットの実行は確実に機能しませんでした。当時の最新バージョンの oXygen は、IBM 64 ビット VM でのみ (しぶしぶ) 実行され、キーボード イベントの取得が停止するまで約 10 分間動作しました。私はついに欲求不満であきらめ、Linuxボックスに8.04の32ビットインストールを行うのに十分な余裕ができるまで、数か月間Macを使用しました. 今ではすべてが再び機能し、とても満足しています。

于 2008-11-02T08:43:46.453 に答える
12

好きなように開発してください。Java プログラマーとして Mac OS X を避けたいと思うかもしれません。その主な理由は、新機能が大幅に遅れているように見えることと、Java の新しいバージョンをサポートするマシンをもう持っていないことがわかった場合です。とはいえ、Mac OS X での開発は非常に優れているに違いないと思います (コマンド ライン インターフェイス、dtrace、優れた OS)。

IntelliJ 7 を使用して Windows で開発しています。問題ありませんが、かなりのハードウェアが必要です。次に、solaris/linux にデプロイします。GUI を作成したり、C++ コードと統合したりする場合を除き、好きなように選択して問題ありません。

于 2008-11-01T22:10:59.087 に答える
7

Mac OS X だと思います。

Java 開発が組み込まれています。必要なすべての UNIX コマンド ライン ツール。箱から出して。Ant と Maven があります。最新バージョンではありませんが、アップグレードは簡単です。

はい、最新バージョンの JDK を使用していない可能性がありますが、実際には、最新かつ最高の JDK 用に開発する必要がない限り、問題にはなりません。

于 2008-11-01T23:23:00.330 に答える
7

"発達" ?

Windows 上の一連の PC のように、自分が最も使い慣れているか、大規模なグループ (開発者) にとって最も利用しやすい OS に固執する必要があると思います。

開発プラットフォームで詳細なチューニングを行う必要があることはまれです。

すべてが再コンパイルされて単体テストされる毎日の展開のために、これらすべての dtrace およびその他のパフォーマンス チューニングをアセンブリ プラットフォーム (Linux など) に予約します。

そして、特別な JVM (Sun JRE の代わりに IBM JRockit など) をセットアップして、統合プラットフォームで何らかの分析を行うことができます。そこでは、ストレス テストと非回帰テストを使用して、すべてのシステムを最初から最後までテストできます。

そして最後に、すべての UAT (ユーザー受け入れテスト) を実稼働前のプラットフォーム (高価な F15K、SunFire880、V490 など) で作成し、ターゲット JRE をそこで使用します。

要点は、開発から本番環境へのリリースまでの間に考慮すべきパラメータが非常に多いため、このような初期段階で OS を切り替える必要がなくなる可能性があるということです。

于 2008-11-01T22:07:46.677 に答える
7

満足できるもので開発し、展開したものでテストします。

Mac で Java を開発し、Solaris と Linux にデプロイすることができます。実際のところ、大部分のタスクについて、Java は OS に依存しない方法で開発できます。これは、サーバー側の開発に特に当てはまります。

私は一般的に、Windows ボックスよりも Unix で開発するのが好きですが、それは私です。

于 2008-11-01T22:08:15.253 に答える
3

答えはあなたが思っているよりも簡単です。お気に入りの OS を使用してください。Javaの場合、これが最良の答えです。開発そのものではありませんが、あなたの快適さはあなたの成功、お気に入りの環境でのドキュメントの閲覧などに役立ちます.

于 2008-11-02T00:44:21.103 に答える
1

Linux、Windows、OS X を使用してきました。OS X を支持する大きな理由は、OS X がユーザー フレンドリーなオペレーティング システムであるということです (つまり、iTunes や最新のブラウザーを実行でき、自分のリソースの 50% を割り当てる必要がないということです)。 Linux のようなラップトップでそれを維持する時間) と unix 基盤を備えています。私の開発のほとんどは UNIX システム向けであるため、これにより生活の生産性が大幅に向上します。また、ここのプラットフォームの背後には、ますます活発な開発コミュニティがあります。これらの理由は、Windows では逆にも機能します。cygwin は UNIX ツールを使用するための私の要件の一部を閉じますが、実際の UNIX システムを持つのとはまったく異なります。

于 2008-11-04T06:16:38.077 に答える
1

個人的には、気にしません。お客様が使用する開発ツールとターゲット プラットフォームを最適にサポートするプラットフォームを使用します。

JVM を調整する必要があるのはなぜですか? これは非常に珍しいことです。C++ のような低レベル言語で書いたほうがよいでしょうか?

Dtrace は OS X で利用でき、Linux ポートもあります。Solaris は歴史的に遅いという評判がありました (そのため、Slowaris のニックネームが付けられました)。これがまだ本当かどうかはわかりません。

于 2008-11-01T22:06:59.593 に答える
0

Windowsは問題ありません。

Solarisも素晴らしいJava開発環境です(私はWindowsよりも気に入っていますが、主観的な理由からです)が、Solarisにデプロイしない限り、切り替える価値はないかもしれません。

LinuxはJava開発には少し不格好ですが、実行可能です。

私がお勧めできないのはMacだけです。Macは利用可能なJavaのバージョンよりもずっと遅れているからです(Sunから提供されたものではなく、Appleが独自に提供しています)。

于 2008-12-26T17:40:05.607 に答える
0

私の最善のアドバイスは、ターゲットにしているプラ​​ットフォームで開発することです。そうすれば、開発テスト中にそれを実行して単体テストを実行すると、ターゲット プラットフォームでも動作することがわかります。

すべてのプラットフォームをターゲットにしている場合は、実際には Mac で開発することをお勧めします。Mac で最も厄介な驚きが得られるからです。Java に関する限り、Windows と Unix では「動作する」だけですが、Mac ではあまり動作しません。Sun は、Mac を除くすべてのオペレーティング システム用の Java ランタイム (JRE) を開発しています。Apple は独自の JRE を開発しています。

Mac で開発する場合、最小公倍数に基づいて開発している可能性が最も高いため、Mac で実行できるものは他のものでも実行する必要があります。それが私の経験です。

それを除けば、ソフトウェアを実行できるかどうかに基づいてオペレーティング システムを選択することを常にお勧めします。開発とテストに使用する IDE とその他のツールを実行する OS を選択します。複数の OS で必要なツールが実行されている場合は、それらを最適に実行するものを選択してください。

于 2009-09-04T20:56:24.403 に答える
0

私は、Windows で Eclipse を使用して Java 開発を行う前に成功を収めました。展開/ホスティングについても質問しているようです。アプリケーションを実行するのに最適な OS はどれであっても、アプリケーションの開発に使用する OS を正確に示す必要はありません。

于 2008-11-01T22:06:50.453 に答える
0

pmiller が提案したように、Windows と Eclipse はうまく機能します。また、Eclipse または IntelliJ IDEA を搭載した OS X をお勧めします (後者は Windows でも動作します)。

私は Solaris で最も基本的な Java 開発 (大学での基本的なデータ構造のプログラミング演習) しか行ったことがないので、実際の比較はできません。ただし、適切なツールが不足しているため、Solaris では非常に苦労しました (nedit か何かに制限されていたと思います)。

于 2008-11-01T22:09:25.703 に答える
0

考慮しなければならないことの 1 つは、Mac で実行できるアプリケーションを開発する予定があるかどうかです。私は OS X が大好きですが、古き良き steve は、常に多くの JDK バージョンが遅れていることを確認してくれました。Java 6 をかろうじて手に入れたところです。Mac での開発は、少なくとも可能な限り低い JDK バージョンで作業していることを保証するかもしれません。

于 2008-11-01T22:22:50.327 に答える
0

開発環境は本番環境と同じでなければなりません。

本番環境と同じではない「最適な開発環境」はありません。本番環境、開発環境で実行するものを実行します。

とはいえ、本番環境と同じシステム (別のマシンや VM など) で開発を行っている限り、別の OS などで IDE を実行できないという意味ではありません。

于 2008-11-04T06:57:58.867 に答える