2

私は現在高校生です。私は最近インターネットを閲覧して、ソフトウェア業界の従業員が通常何を望んでいるか、そして仕事の要件はどのようなものかを探していました。

私は職務記述書に同意しましたが、要件の1つは次のとおりです。

強力なオブジェクト指向の設計およびコーディングスキル(C / C ++および/またはJava、UNIXまたはLinuxプラットフォームが望ましい)

最後の部分に注意してください。JavaはUNIXまたはLinuxプラットフォームであることが望ましいです

わかりません。Javaは仮想環境/マシン内で実行されていませんか?JavaはOSと直接対話できないため、実行しているOSが重要になるのはなぜですか。

4

5 に答える 5

4

開発者の職務記述書には、いくつかの理由で一部のOSの経験が必要な場合があります。

  1. まず、すでにお気づきのように、OSと直接通信する言語があり、コードは基盤となるOS(ジョブの説明にリストされているC / C ++など)を認識する必要があります。

  2. 第二に、プログラミング言語がOS固有のもの(ファイルシステム/パスセパレーターを含む)を抽象化したとしても、一部のOS上でアプリケーションを展開/構成/実行/監視する必要があります。それを行うための(少なくとも)基本を知っている。

Javaジョブの説明については、UNIX / Linuxが「プラス」である場合、通常はUNIX / Linuxシステムでコードを実行することを意味し、プロセス(独自のJavaアプリまたはアプリケーション)を開始する方法を知っている必要があります。サーバー)、コンテナにアプリケーションをデプロイする方法、ログファイルを読み取る方法など...

于 2013-03-24T23:07:10.573 に答える
1

Java言語は仮想マシン上で実行されますが、Javaライブラリは、ホストプラットフォームで利用可能な機能へのアクセスを抽象化する必要があります。理想的には、これらの抽象化はクロスプラットフォームですが、悪魔は詳細にあります。したがって、特定のターゲットプラットフォームでのエクスペリエンスが優先されます。

于 2013-03-24T22:55:15.063 に答える
1

どこでも一度デバッグを開発

概念的には、Javaコードが実行されるターゲットプラットフォームに違いはありませんが、実際には、コードを任意のプラットフォームで実行するのは必ずしも単純ではなく、かなり面倒な作業です。

簡単に回避できる間違いから始めます。たとえば、/または\の代わりに、java.io.File.separatorChar またはの代わりに、:または;その代わりに、またはほとんどのjava.io.File.pathSeparatorChar 場合、異なるプラットフォーム間で互換性がないことが多いネイティブコードに実装されたメソッドを含む問題があります。

native雇用主がJNIを使​​用してJavaメソッドを実装する人を探している可能性さえあります。

于 2013-03-24T22:58:52.377 に答える
1

まず、Javaは仮想マシン内で実行されるという点で正しいです。つまり、システムの内部動作を直接公開することはありません。ただし、これは、各システムが内部で何らかの形で異ならないことを意味するわけではありません。オペレーティングシステムの種類が異なれば、カーネルも異なり、スケジューリングの考え方も異なり、スレッドの処理方法も異なり、割り込みチェーンも異なります(Linuxにはかなりの数のシグナルがありますが、Windowsにはほんの一握りがあります)。

Java(言語)に関する限り、どこでも同じように動作します。それが実際にどのように達成されるかは、それが実行されているネイティブJVMによって異なります。

ただし、この求人情報については、UNIX/Linuxの部分についてはあまり読みません。これは、Javaのプログラミング中に誰かがUNIXまたはLinux環境でどれだけ快適に作業できるかを多かれ少なかれ測定しています。Javaで利用可能なIDEの大部分はクロスプラットフォームですが、そのショップはMacまたは* nixのフレーバー(RHEL、Debian、Ubuntuなど)を使用している可能性があります。UNIX / Linuxでの作業の便利さの多くはコマンドラインにあるため、コマンドライン/シェルスクリプトを使用することも重要です。

すべてのショップがWindowsマシンを使用して開発しているわけではありません。ただのヘッズアップ。

于 2013-03-24T23:15:11.947 に答える
1

Javaはプラットフォームによって違いはありません。これがJavaの最も重要な機能です(移植性)。JVMは、基盤となるプラットフォームを抽象化します。

ただし、ソフトウェア開発に関しては、コーディング部分だけでなく、プラットフォームも重要です。主に業界では、開発者はターミナルにログインすることでLinuxプラットフォームで作業します。WindowsのようなGUIやNetBeansのような優れたIDEは入手できません。したがって、その場合は、ターミナルからJavaプログラムをコンパイルして実行する方法を知っておく必要があります。

たとえば、Linuxでは、パッケージを作成するために、myJava /などのディレクトリ(フォルダ)を作成します。そこに移動し(cd myJava)、SomeThing.javaファイルを記述し、javac SomeThing.javaを使用してコンパイルすると、SomeThing.classファイル(myJava内)を取得します。これを実行するには、javaコマンドを使用する必要があります。使用する前に、このパッケージを含む親ディレクトリに移動する必要があります。次に、javamyJava.SomeThingとして実行します。Linuxプラットフォームで遊んでいない限り、これを知ることはできません。クラスパスの設定などの他のことも懸念事項です

于 2013-03-25T12:39:04.047 に答える