Java開発に最適なOSは何ですか?Sunの人々はSolarisを推進しています。そうです、Solarisには(dTrace、JVMのパフォーマンスチューニングの可能性など)など、いくつかの追加機能があります。 )私の友人の何人かは、アプリケーションをソラリスに移植していて、パフォーマンスは素晴らしいと私に言ってくれました。OSを切り替えることに満足しておらず、代わりにSolarisを使用しています。
あなたの経験は何でしたか?
私が使用した3つ(Mac OS X、Linux、Windows)のうち、LinuxはJava開発に最適な場所です。
私の主な個人用マシンはMacで、Javaでの開発を数多く行って満足しています。しかし、残念ながらAppleラグ公式のJDKリリースの背後にあり、提供するいくつかのバージョンにかなり制限されています。
私の雇用者提供のマシンは、足を暖かく保つために主に使用するHPの古いP4クレートです。実際の作業は、2.6 GHzクアッドコアbuntu 8.04が32ビットモードで実行されている「Oberon」で発生します[1]。私がWindowsと比較して日々気付いている2つの利点は次のとおりです。
Macからもこれらの利点を得ることができますが、Linuxにはもう1つの素晴らしいボーナスがあります。
[1]以前は64ビットモードでUbuntuを実行していましたが、問題はありませんでした。 (64ビットと32ビットの混合は、Mac OS Xが行うことですmuchより良いです。)7.04は、64ビットカーネルで32ビットアプリケーションを正常に実行することで機能しました。 7.10 linux32
スクリプトと、古い32ビットアプリケーションを(ほとんど)実行し続けながら、新しい32ビットアプリケーションをインストールする機能。 8.04は32ビットを強制終了しましたJava 32ビットのJVMからネットワークに接続することを不可能にすることにより(Eclipseの更新は不要)。Eclipse64ビットを実行すると、確実に動作しませんでした。その後、oXygenの現在のバージョンはIBM 64ビットでのみ(不注意に)動作しますVMこれは、キーボードイベントの取得が停止するまで約10分間機能します。 Linuxボックスで32ビット版の8.04をインストールするのに十分な余裕ができるまで、数か月間Macを使用していましたが、すべてが正常に機能し、とても満足しています。
好きなように開発してください。 Javaプログラマとして、Mac OS Xを避けたいと思うかもしれません。これは、主に新機能が大幅に遅れているようであり、また、 Javaの新しいバージョン。MacOS Xでの開発は非常に素晴らしいと思います(コマンドラインインターフェイス、dtrace、Nice OS)。
IntelliJ 7を使用してWindowsで開発しています。問題ありませんが、高額のハードウェアが必要です。次に、solaris/linuxにデプロイします。 GUIを書いたり、C++コードと統合したりしているのでない限り、自分の好きなものを何でも選択する必要があります。
「開発」?
私はあなたが最も使いやすいOS、またはWindows上のPCのセットなど、大規模なグループ(開発者)が最も利用しやすいOSに固執する必要があると思います。
developmentプラットフォームで詳細なチューニングを行う必要があることはまれです。
すべてが再コンパイルされ、単体テストが行われる毎日のデプロイメント用に、dtraceおよびその他のパフォーマンスチューニングをアセンブリプラットフォーム(Linuxなど)に予約します。
次に、特別なJVM(Sun JREではなくIBM JRockitなど)を設定して、統合プラットフォームで分析を行い、すべてのシステムをストレステストと非回帰テストで前から後ろにテストできます。
そして最後に、すべてのUAT(ユーザー受け入れテスト)を運用前のプラットフォーム(高価なF15K、SunFire880、V490などになる可能性があります)で作成し、そこでターゲットJREを使用します。
私の要点は、開発と本番環境へのリリースの間に考慮すべきパラメーターが非常に多いため、そのような早い段階でOSを切り替える必要がないことです。
満足のいくものを開発し、何をデプロイするかをテストします。
Javaを開発し、SolarisとLinuxで配備します。真実は、タスクの大部分で、Java OSに依存しない方法これは特にサーバー側の開発に当てはまります。
私は、一般的にはWindowsボックスよりもUnixで開発するのが好きですが、それは私です。
Mac OS Xと言います。
Java開発が組み込まれています。必要なすべてのUNIXコマンドラインツール。箱から出して。 Antとmavenがいます。最新バージョンではありませんが、アップグレードは簡単です。
はい、JDKの最新バージョンがない可能性がありますが、実際には、最新かつ最高のJDKを開発する必要がない限り、問題にはなりません。
答えはあなたが思っているよりも簡単です。お気に入りのOSを使用してください。 Javaの場合、これが最良の答えです。開発自体ではありませんが、あなたの快適さは、お気に入りの環境でのドキュメントの閲覧などの成功に役立ちます。
個人的には、気にしません。私が使用する開発ツールとターゲットプラットフォームを最もよくサポートするプラットフォームを使用します。
JVMを調整する必要があるのはなぜですか?これは非常に珍しいことです。 C++のような低水準言語で書いたほうがいいですか?
DtraceはOS Xで利用できます。Linuxポートもあります。 Solarisは歴史的に遅いという評判がありました(そのため、Slowarisニックネーム)。これがまだ当てはまるかどうかはわかりません。
私はLinux、Windows、OS Xを使用しました。OSXを支持する私の大きな議論は、ユーザーフレンドリーなオペレーティングシステムであるということです(つまり、iTunesや最新のブラウザーを実行でき、私の50%を割り当てる必要はありません)。 Linuxのようなラップトップでそれを維持する時間)、UNIXの基盤。私の開発のほとんどはUNIXシステム用であるため、これにより人生の生産性が大幅に向上します。また、プラットフォームの背後には、ますます活発な開発コミュニティがあります。これらの理由はWindowsでも逆に機能します-cygwinはunixツールを使用するための私の要件のいくつかを閉じますが、それは本当のunixシステムを持っているようなものではありません。
Windowsで十分です。
SolarisはすばらしいJava開発環境でもあります(私はWindowsよりも好きですが、主観的な理由で))、Solarisをデプロイしない限り、切り替える価値はないかもしれません。
Linuxは、Java開発では少し不格好ですが、実行可能です。
Javaが利用可能なバージョン(Sunから提供されていない、Appleがサポートしている彼ら自身)。
私の最善のアドバイスは、ターゲットとするプラットフォームで開発することです。そうすれば、開発テスト中に単体テストを実行して単体テストを実行すると、厄介な驚きなしにターゲットプラットフォームでも動作することがわかります。
すべてのプラットフォームをターゲットにしている場合は、Macで最も厄介な驚きを得ることができるため、実際にはMacで開発したいと思うかもしれません。 Javaについては、WindowsとUnixでは「機能するだけ」ですが、Macではそれほど多くありません。SunはJava runtime(JRE)を開発しています。 Mac以外のすべてのオペレーティングシステム用Appleは独自のJREを開発しています。
Macで開発する場合、最も一般的な分母に対して開発している可能性が高いため、Macで実行するものは他のものでも実行する必要があります。それは私の経験です。
それがなければ、ソフトウェアを実行するかどうかに基づいてオペレーティングシステムを選択することを常にお勧めします。 IDEおよび開発とテストに使用するその他のツールを実行するOSを選択します。複数のOSが必要なツールを実行する場合は、それらを最適に実行するOSを選択します。
私はJava Eclipseを使用したWindowsでの開発を行う前に成功しました。デプロイメント/ホスティングについても質問されているようです。アプリケーションを実行するのに最適なOSは、実際に使用しているOSを示すものではありません。アプリケーションを開発します。
Pmillerが示唆したように、WindowsとEclipseはうまく機能します。また、EclipseまたはIntelliJを使用してOS Xを推奨することもできますIDEA(後者はWindowsでも動作します)。
私はこれまで、最も基本的なJava Solarisでの開発(大学での基本的なデータ構造のプログラミング実習))だけを行ったので、実際の比較を提供することはできません。ただし、適切なツールが不足しているため、Solarisではかなり苦痛を感じます(私はneditか何かに制限されていたと思います)。
考慮しなければならないことの1つは、Macで実行できるアプリケーションを開発するかどうかです。私はOS Xが大好きですが、古き良きスティーブは、常に多くのJDKバージョンが後ろにあることを確認しました。 Java= 6.をやっと入手しました。Macで開発することで、最低限のJDKバージョンで作業していることが保証されます。
開発環境は本番環境と同じである必要があります。
実稼働環境と同じではない「最適な開発環境」はありません。プロダクションで実行しているものを開発で実行します。
ただし、本番環境と同じシステムで(たとえば、別のマシンやVMなどで)開発を続けている場合、IDEを別のOSなどで実行できないという意味ではありません。