インストールしたソフトウェアの種類を確認するソフトウェアアプリケーションを開発していますが、そのためにはOSが32ビットか64ビットOSかどうかを知る必要があります。私はSystem.getProperty( "os.arch")を試しました。しかし、私はこのコマンドがOS自体ではなくJDK/JREのビット数を示していることを読んだ。 OSが使用されている(Windows 7、Mac OS、Ubuntuなど)ことを知る方法を教えていただけたら、C:Javaを使用しているOSのビット数を確認するにはどうすればよいですか? (J2SE、os.archではない)
答えて
System.getProperty("os.arch");
は、より多くの情報のためのJava System Properties Tutorialを参照して、すべてのプラットフォームで利用可能であるべきです。
64ビットWindowsプラットフォームは、32ビットJVMの場合はJVMになります。実際には64ビットWindowsは、環境に関する32ビットプロセスに依存して、古い32ビットプログラムが64ビットOS上で正常に動作するのを助けます。詳細については、MSDN article about WOW64をお読みください。
WOW64の結果、System.getProperty("os.arch")
を呼び出す32ビットJVMは "x86"を返します。あなたがWindows上で基盤となるOSの本当アーキテクチャを取得したい場合は、次のロジックを使用します。
String arch = System.getenv("PROCESSOR_ARCHITECTURE");
String wow64Arch = System.getenv("PROCESSOR_ARCHITEW6432");
String realArch = arch != null && arch.endsWith("64")
|| wow64Arch != null && wow64Arch.endsWith("64")
? "64" : "32";
も参照してください:
Why %processor_architecture% always returns x86 instead of AMD64
私はmac osx上のrealArchの行にNPEを取得しました:( – user2693017
これまでの実装よりもうまくいきましたありがとう! – CMerrill
私はあなたの答えが正解として選択されていましたが、 –
plattformを特定することなくこれを行う方法はありません。 thisページの最後の投稿をご覧ください(解決策はplattform固有です)。
プロパティos.name
には、使用するオペレーティングシステムの名前が表示されます。os.version
のバージョンです。このライン
System.getProperty("sun.arch.data.model");
を呼び出すことによって確認することができ
os.archはOSのビットではなく、この解決策に注意してください! http://mark.koli.ch/2009/10/javas-osarch-system-property-is-the-bitness-of-the-jre-not-the-operating-system.html
これは理論的に質問に答えるかもしれませんが、答えの本質的部分をここに含めることが望ましいです(// meta.stackoverflow.com/q/8259)。 、参照のためのリンクを提供する。 –
- 1. アプリで使用しているTLSのバージョンを確認するにはどうすればよいですか?
- 2. Javascriptビット演算子を使用していないかどうかを確認するにはどうすればいいですか?
- 3. Javaを使用してピンを確認するにはどうすればいいですか?6a86
- 4. Javaコンソールログを確認するにはどうすればよいですか?
- 5. Java-MEを使用してモバイルOSの名前とOSのバージョンを確認するにはどうすればよいですか?
- 6. ユーザーが使用しているブラウザを確認するにはどうすればよいですか?
- 7. Bigqueryクエリで使用されるスロットの数を確認するにはどうすればよいですか?
- 8. PyMongoを使用してユーザーがデータベースで認証されているかどうかを確認するにはどうすればよいですか?
- 9. 重複数を確認するにはどうすればよいですか?
- 10. iOSでFirebaseを使用してユーザーのメールアドレスを確認するにはどうすればよいですか?
- 11. ポップアップページが開いているかどうかを確認するにはどうすればよいですか?
- 12. ネットパイプサービスがリッスンしているかどうかを確認するにはどうすればよいですか
- 13. Java - シーンがフルスクリーンモードであるかどうかを確認するにはどうすればよいですか?
- 14. 32ビットOSでVBScriptを使用して64ビットの倍数を表示するにはどうすればよいですか?
- 15. デルファイを使用しているシステムにMSXML6がインストールされているかどうかを確認するにはどうすればよいですか?
- 16. スクリプトを使用してIE6でフルスクリーンモードになっているかどうかを確認するにはどうすればよいですか?
- 17. ハイブ、ImpalaのようなclouderaサービスがJavaコードで実行されているかどうかを確認するにはどうすればよいですか?
- 18. Windows APIを使用してARMを使用しているかどうかを確認するにはどうすればよいですか?
- 19. Javaアプリケーションを使用してMac OSにインストールされたソフトウェアを確認するにはどうすればよいですか?
- 20. コードで使用するマクロをすばやく確認するにはどうすればよいですか?
- 21. passport-jwtを使用してトークンペイロードを正しく確認するにはどうすればよいですか?
- 22. ノードマップデバッガを使用してJavaScriptマップの内容を確認するにはどうすればよいですか?
- 23. Curlを使用してAPIリクエストのタイムアウトを確認するにはどうすればよいですか?
- 24. JavaScriptを使用してハイパーリンクの状態を確認するにはどうすればよいですか?
- 25. APIを使用してプロジェクトの品質ゲートステータスを確認するにはどうすればよいですか?
- 26. getdate()を使用してユーザーの年齢を確認するにはどうすればよいですか?
- 27. リスナーを使用してロガーの設定を確認するにはどうすればよいですか?
- 28. OS X 64ビットでi386用にBoostをビルドするにはどうすればよいですか?
- 29. OS Xで64ビット整数演算を強制するにはどうすればよいですか?
- 30. jquery:ページにフォーカスがないかどうかを確認するにはどうすればよいですか?
まあ、それは私が思ったことですが、私はこのリンクを見ました、あなたはミーghtはそれをチェックしたい:http://mark.koli.ch/2009/10/javas-osarch-system-property-is-the-bitness-of-the-jre-not-the-operating-system.htmlあなたの考えを教えてください –
代替回答を受け入れることをお勧めします。 – assylias