リリース・改善中
Programming language · 1995年公開
Javaは静的型付けのオブジェクト指向言語で、JVM上で動作します。企業向けバックエンドやAndroidアプリ、大規模データ処理で広く使われています。
Javaは、1995年にSun Microsystemsが初めて公開した汎用のオブジェクト指向プログラミング言語で、現在はOracleがOpenJDKコミュニティとともに開発を進めています。ソースコードはバイトコードにコンパイルされ、Java仮想マシン(JVM)上で実行されるため、同じプログラムを再コンパイルせずにWindows、macOS、Linuxで動かせます。自動メモリ管理と厳格な静的型システムによって多くの誤りを早い段階で見つけられ、大規模なコードベースも保守しやすくなります。
Javaが特に力を発揮するのは、何年にもわたって安定して動き続ける必要があるサーバーサイドのソフトウェアです。Springなどのフレームワークで作るWebサービスやAPI、金融・トランザクション処理システム、Apache Kafka、Hadoop、Sparkといったデータ基盤で広く使われています。Android開発でも長く使われてきた言語です。JVMのJITコンパイラーと成熟したガベージコレクターにより、長時間動くワークロードでも安定した性能が得られ、Maven Centralには膨大な数のオープンソースライブラリが公開されています。
始めるには、Eclipse TemurinのようなOpenJDKビルドなどでJDKをインストールし、javaコマンドで単一のソースファイルを直接実行するか、JShellで対話的にコードを試してみましょう。dev.javaのLearnセクションでは言語を順を追って学べ、Java SEのAPIドキュメントは最もよく参照するリファレンスになります。プロジェクトが数ファイルを超えるようになったら、MavenやGradleといったビルドツールとIDEを導入します。本番環境では、長期サポート(LTS)リリースにそろえるのが一般的です。
プログラムはプラットフォームに依存しないバイトコードにコンパイルされ、どのJVMでも動作するため、同じビルドを異なるOSやCPUアーキテクチャで利用できます。
ガベージコレクターが不要になったオブジェクトを自動的に解放し、メモリ解放にまつわる多くの誤りを防ぎます。JITコンパイラーは頻繁に実行されるコードを実行時に最適化します。
クラス、インターフェース、ジェネリクスによって型の誤りをコンパイル時に検出でき、ラムダ式、レコード、パターンマッチングといった比較的新しい機能でコードを簡潔に書けます。
標準ライブラリはコレクション、並行処理、入出力、ネットワークなどを幅広くカバーし、Maven Centralからは多様なオープンソースライブラリを利用できます。
adoptium.netからEclipse TemurinなどのOpenJDKビルドをダウンロードしてインストールします。Windowsではwinget、macOSではHomebrew、Linuxではディストリビューションのパッケージマネージャーや SDKMAN! でも導入できます。特別な理由がなければLTSリリースを選びましょう。
新しいターミナルを開き、実行環境(java)とコンパイラー(javac)の両方がバージョンを表示することを確認します。コマンドが見つからない場合は、JDKのbinディレクトリをPATHに追加し、JAVA_HOMEにJDKのフォルダーを設定します。
java -version && javac -version下の例をHello.javaという名前で保存し、javaコマンドで直接実行します。JDKがソースファイルのコンパイルと実行を一度に行います。
java Hello.javaHelloクラスはmainメソッドを定義しています。mainはプログラムの開始時にJVMが呼び出すエントリーポイントで、System.out.printlnはコンソールに1行を出力します。ファイル名はpublicクラスの名前と一致させる必要があります。最近のJDKではjava Hello.javaで単一のソースファイルを直接実行でき、javacを別途実行しなくてもメモリ上でコンパイルされます。大きなプロジェクトでは、javacやビルドツールでコンパイルしてからクラスを実行します。
Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
java Hello.javaインストールから Java の中心となる考え方まで、6 章で順を追って学びます。
Java について質問し、経験を共有し、意見を交わす場所です。
まだディスカッションはありません。最初の話題を始めましょう。
コメント 0件
ログイン · ログインするとコメントできます。
最初のコメントを書いてみましょう。